
    pip                       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      Z4y)    )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y)r!   c                    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
        )BatchesWithRawResponseselfs    f/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/anthropic/resources/messages/batches.pywith_raw_responsezBatches.with_raw_response   s     &d++    c                    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
        )BatchesWithStreamingResponser'   s    r)   with_streaming_responsezBatches.with_streaming_response&   s     ,D11r+   Nextra_headersextra_query
extra_bodytimeoutc          
         | j                  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/batchesrequestsr0   bodyoptionscast_to)_postr   r   BatchCreateParamsr   r   r(   r8   r1   r2   r3   r4   s         r)   createzBatches.create/   sL    B zz" *h!79L9^9^_(+Q[el !  
 	
r+   c          	     r    |st        d|      | j                  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/r0   r;   r<   
ValueError_getr   r   r(   message_batch_idr1   r2   r3   r4   s         r)   retrievezBatches.retrieveY   sV    >  ^_o^rsttyy#$4#56(+Q[el !  
 	
r+   after_id	before_idlimitr1   r2   r3   r4   c                   | j                  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
        r7   )rM   rN   rO   )r1   r2   r3   r4   query)pager;   model)_get_api_listr   r   r   r   r   BatchListParamsr(   rM   rN   rO   r1   r2   r3   r4   s           r)   listzBatches.list   sb    P !!",'(+'%%$,%.!&
 &55 # " 
 	
r+   c          	     r    |st        d|      | j                  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
        rC   rD   r0   rE   rG   _deleter   r   rI   s         r)   deletezBatches.delete   sV    >  ^_o^rstt||#$4#56(+Q[el (  
 	
r+   c          	     t    |st        d|      | j                  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
        rC   rD   /cancelr0   rE   rG   r=   r   r   rI   s         r)   cancelzBatches.cancel   sY    J  ^_o^rsttzz#$4#5W=(+Q[el !  
 	
r+   c          	        |st        d|      | j                  |      }|j                  st        d|j                         ddi|xs i }| j                  |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
        rC   rJ   BNo `results_url` for the given batch; Has it finished processing? Acceptapplication/binaryr0   Tr;   r<   stream)	rG   rK   results_urlr   processing_statusrH   r   r   r    r(   rJ   r1   r2   r3   r4   batchs          r)   resultszBatches.results  s    @  ^_o^rstt/?@   TUZUlUlTmn  "#7QM<ORQyy(+Q[el !!?@  
 	
r+   )returnr&   )rp   r.   r8   z%Iterable[batch_create_params.Request]r1   Headers | Noner2   Query | Noner3   Body | Noner4   'float | httpx.Timeout | None | NotGivenrp   r   rJ   strr1   rr   r2   rs   r3   rt   r4   ru   rp   r   )rM   
str | OmitrN   rx   rO   
int | Omitr1   rr   r2   rs   r3   rt   r4   ru   rp   zSyncPage[MessageBatch]rJ   rw   r1   rr   r2   rs   r3   rt   r4   ru   rp   r   )rJ   rw   r1   rr   r2   rs   r3   rt   r4   ru   rp   z,JSONLDecoder[MessageBatchIndividualResponse]__name__
__module____qualname__r   r*   r/   r   r@   rK   r   rX   r]   rb   ro    r+   r)   r!   r!      s   , , 2 2 )-$("&;D(
 8(
 &(
 "(
  (
 9(
 
(
` )-$("&;D'
'
 &'
 "'
  '
 9'
 
'
X  $ $  )-$("&;D:
 :
 	:

 :
 &:
 ":
  :
 9:
 
 :
D )-$("&;D'
'
 &'
 "'
  '
 9'
 
'
^ )-$("&;D-
-
 &-
 "-
  -
 9-
 
-
j )-$("&;D1
1
 &1
 "1
  1
 91
 
6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y)r"   c                    t        |       S r%   )AsyncBatchesWithRawResponser'   s    r)   r*   zAsyncBatches.with_raw_responseK  s     +400r+   c                    t        |       S r-   )!AsyncBatchesWithStreamingResponser'   s    r)   r/   z$AsyncBatches.with_streaming_responseU  s     166r+   Nr0   c          
        K   | j                  dt        d|it        j                         d{   t	        ||||      t
               d{   S 7 $7 w)r6   r7   r8   Nr0   r9   )r=   r   r   r>   r   r   r?   s         r)   r@   zAsyncBatches.create^  sa     B ZZ",j(-CEXEjEjkk(+Q[el !   
 
 	
k
s!   ,AA
AAAAc          	        K   |st        d|      | j                  d| t        ||||      t               d{   S 7 w)rB   rC   rD   r0   rE   NrF   rI   s         r)   rK   zAsyncBatches.retrieve  sd     >  ^_o^rsttYY#$4#56(+Q[el !  
 
 	
 
   <AAArL   c                   | j                  dt        t           t        ||||t	        |||dt
        j                              t              S rQ   )rU   r   r   r   r   r   rV   rW   s           r)   rX   zAsyncBatches.list  sb    P !!"<((+'%%$,%.!&
 &55 # " 
 	
r+   c          	        K   |st        d|      | j                  d| t        ||||      t               d{   S 7 w)rZ   rC   rD   r0   rE   Nr[   rI   s         r)   r]   zAsyncBatches.delete  sd     >  ^_o^rstt\\#$4#56(+Q[el ( " 
 
 	
 
r   c          	        K   |st        d|      | j                  d| dt        ||||      t               d{   S 7 w)r_   rC   rD   r`   r0   rE   Nra   rI   s         r)   rb   zAsyncBatches.cancel  sg     J  ^_o^rsttZZ#$4#5W=(+Q[el !   
 
 	
 
s   =AA Ac          	     @  K   |st        d|      | j                  |       d{   }|j                  st        d|j                         ddi|xs i }| j                  |j                  t        ||||      t        t           d	       d{   S 7 q7 w)
rd   rC   re   Nrf   rg   rh   r0   Tri   )	rG   rK   rk   r   rl   rH   r   r   r    rm   s          r)   ro   zAsyncBatches.resultsE  s     @  ^_o^rsttmm5EmFF   TUZUlUlTmn  "#7QM<ORQYY(+Q[el &&DE  
 
 	
 G
s"   &BBA,BBBB)rp   r   )rp   r   rq   rv   )rM   rx   rN   rx   rO   ry   r1   rr   r2   rs   r3   rt   r4   ru   rp   z5AsyncPaginator[MessageBatch, AsyncPage[MessageBatch]]rz   )rJ   rw   r1   rr   r2   rs   r3   rt   r4   ru   rp   z1AsyncJSONLDecoder[MessageBatchIndividualResponse]r{   r   r+   r)   r"   r"   J  s   1 1 7 7 )-$("&;D(
 8(
 &(
 "(
  (
 9(
 
(
` )-$("&;D'
'
 &'
 "'
  '
 9'
 
'
X  $ $  )-$("&;D:
 :
 	:

 :
 &:
 ":
  :
 9:
 
?:
D )-$("&;D'
'
 &'
 "'
  '
 9'
 
'
^ )-$("&;D-
-
 &-
 "-
  -
 9-
 
-
j )-$("&;D1
1
 &1
 "1
  1
 91
 
;1
r+   c                      e Zd ZddZy)r&   c                z   || _         t        j                  |j                        | _        t        j                  |j                        | _        t        j                  |j
                        | _        t        j                  |j                        | _        t        j                  |j                        | _        y N)_batchesr   to_raw_response_wrapperr@   rK   rX   r]   rb   r(   batchess     r)   __init__zBatchesWithRawResponse.__init__z  s    &>>NN
 )@@
 %<<LL
	 '>>NN
 '>>NN
r+   Nr   r!   rp   Noner|   r}   r~   r   r   r+   r)   r&   r&   y      
r+   r&   c                      e Zd ZddZy)r   c                z   || _         t        j                  |j                        | _        t        j                  |j                        | _        t        j                  |j
                        | _        t        j                  |j                        | _        t        j                  |j                        | _        y r   )r   r   async_to_raw_response_wrapperr@   rK   rX   r]   rb   r   s     r)   r   z$AsyncBatchesWithRawResponse.__init__  s    &DDNN
 )FF
 %BBLL
	 'DDNN
 'DDNN
r+   Nr   r"   rp   r   r   r   r+   r)   r   r     r   r+   r   c                      e Zd ZddZy)r.   c                   || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        t        |j                        | _        y r   )r   r   r@   rK   rX   r]   rb   r   s     r)   r   z%BatchesWithStreamingResponse.__init__  sr    2NN
 5
 1LL
	 3NN
 3NN
r+   Nr   r   r   r+   r)   r.   r.     r   r+   r.   c                      e Zd ZddZy)r   c                   || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        t        |j                        | _        y r   )r   r   r@   rK   rX   r]   rb   r   s     r)   r   z*AsyncBatchesWithStreamingResponse.__init__  sr    8NN
 ;
 7LL
	 9NN
 9NN
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 < & : Y - ) @ D > 8 G ^n
%l
o l
^	l
# l
^	
 
*
 
*
 
*
 
r+   