
    4Rj                    D   d dl mZ d dlZd dlmZmZmZmZ d dlm	Z	m
Z
 d dlZddlmZmZ ddlmZ ddlmZ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! ddl"m#Z#m$Z$ ddlm%Z% ddl&m'Z' ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 ddl4m5Z5m6Z6 ddl7m8Z8 d*dZ9d+dZ:d,dZ;d-dZ<d.dZ=er,ddl>m?Z?m@Z@mAZAmBZB ddlCmDZDmEZE ddlFmGZGmHZH ddlImJZJmKZK ddlLmMZMmNZN g dZO G d de*      ZP G d  d!e+      ZQ G d" d#      ZR G d$ d%      ZS G d& d'      ZT G d( d)      ZUePZVeQZWy)/    )annotationsN)TYPE_CHECKINGAnyMappingSequence)Selfoverride   )
_constants_exceptionsQuerystring)OmitHeadersTimeoutNotGiven	TransportProxiesTypesRequestOptions	not_given)is_givenis_mapping_tget_async_library)cached_property)__version__)StreamAsyncStream)APIStatusError)MiddlewareInput)DEFAULT_MAX_RETRIESSyncAPIClientAsyncAPIClientmerge_headers)
TokenCacheInMemoryConfigAccessTokenAuthCredentialsFileAccessTokenProviderdefault_credentials)&warn_env_static_shadows_auto_discovery(warn_explicit_static_shadows_credentials)"_has_auto_discoverable_credentialsc                0    t        |       t        t        fv S )a0  True only for the base ``Anthropic`` / ``AsyncAnthropic`` classes, not subclasses.

    Subclasses (``AnthropicAWS``, ``AnthropicFoundry``) have their own auth paths
    and must not run the credential chain or forward ``credentials`` through their
    ``__init__`` (which doesn't accept the kwarg).
    )type	AnthropicAsyncAnthropic)clients    Y/var/www/html/meridian/meridian-ai/venv/lib/python3.12/site-packages/anthropic/_client.py_is_base_clientr3   8   s     <I~666    c                2    t        | dd      }| |        yy)zPRelease any resources owned by a credential provider, if it exposes ``close()``.closeN)getattr)credentialsr6   s     r2   _close_credentialsr9   B   s     K$/E r4   c                F    t        | dd      }t        |      r	 ||       yy)u  If the credential provider supports ``bind_base_url``, pass it the
    client's resolved ``base_url`` so the token exchange and API calls hit
    the same deployment without the caller passing the URL twice.

    Providers without the hook (plain callables, custom impls) are left
    untouched and MUST resolve their own token-exchange ``base_url`` — the
    client does not second-guess them.
    bind_base_urlN)r7   callable)r8   base_urlbinds      r2   _bind_credentials_base_urlr?   I   s%     ;6D~X r4   c                @    |y| t        d       |t        d       yy)zWarn when an explicit ``api_key=`` / ``auth_token=`` argument shadows
    an explicit ``credentials=`` provider. Call *after* any copy-inheritance
    merging so the params reflect the resolved values.Napi_key
auth_token)r+   rA   rB   r8   s      r2   _warn_explicit_shadowrD   W   s.     0;0> r4   c                    t               sy| *t        j                  j                  d      rt	        d       |,t        j                  j                  d      rt	        d       yyy)av  Warn when an ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` from the
    environment is set alongside signals that would normally drive profile /
    federation auto-discovery (``ANTHROPIC_PROFILE``, a ``configs/`` directory,
    or the workload-identity env trio). Per the credential-precedence spec,
    the static credential wins and auto-discovery is silently skipped.NANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN)r,   osenvirongetr*   rA   rB   s     r2   _warn_env_shadowrL   c   sT     ./rzz~~.AB./BC"**..1G"H./EF #Ir4   )betamodelsmessagescompletions)ModelsAsyncModels)Beta	AsyncBeta)CompletionsAsyncCompletions)MessagesAsyncMessages)r   r   r   r   r/   r0   ClientAsyncClientc                      e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   ej
                  Zej                  Zdddddddeeddddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d" fdZ	e
d#d       Ze
d$d       Ze
d%d       Ze
d&d       Ze
d'd       Ze
d(d       Zeed)d              Zeed*d              Zed*d       Zed*d       Zeed+ fd              Zed,d       Zeed-d              Zed. fd       Zed/ fd       Zddeddddededdddei d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d0dZeZd1d Ze	 	 	 	 	 	 	 	 d2d!       Z xZ S )3r/   
str | NonerA   rB   webhook_keyAccessTokenProvider | Noner8   TokenCache | None_token_cacheAccessTokenAuth | None_custom_authNFrA   rB   r8   configprofiler]   r=   timeoutmax_retriesdefault_headersdefault_queryhttp_client
middleware_strict_response_validationr`   c                  |duxs |duxs |duxs
 |duxs |du}|s>t         j                  j                  d      }t         j                  j                  d      }|| _        || _        |t         j                  j                  d      }|| _        |t         j                  j                  d      }|du}|d}t         j                  j                  d      }|li }|j                  d      D ]C  }|j                  d	      }|d
k\  s||dz   d j                         ||d| j                         <   E i |t        |
      r|
ni }
i }|P||t        d      t        t        |            }|}|j                         }|s`|j                  rT|j                  }nG|E|t        d      t        |      }|}|j                         }|s|j                  r|j                  }|\|Z|Xt!        |       rMt#        |rt%        |      nd      }|2|j&                  }|j                  }|s|j(                  r|j(                  }t+        |t%        |             || _        t/        |||       t1        ||       t3        |t4              s|| _        n|t9        |      nd| _        | j6                  t;        | j6                        nd| _        |r
i ||
xs i }
t>        |   tB        ||	|||
|||	       tD        | _#        y)ud  Construct a new synchronous Anthropic client instance.

        Credentials are resolved in the following order (first match wins):

        1. Explicit constructor arguments — ``api_key=``, ``auth_token=``,
           ``credentials=``, ``config=``, or ``profile=``. When any of these
           is passed, environment variables are not consulted for credentials.
        2. ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` environment
           variables.
        3. ``ANTHROPIC_PROFILE`` environment variable — loads the named
           profile from ``<config_dir>/configs/<profile>.json``.
        4. Workload identity federation environment variables —
           ``ANTHROPIC_IDENTITY_TOKEN[_FILE]`` +
           ``ANTHROPIC_FEDERATION_RULE_ID`` + ``ANTHROPIC_ORGANIZATION_ID``.
        5. The active profile on disk — the profile named by
           ``<config_dir>/active_config``, or ``default``.

        ``credentials=``, ``config=``, and ``profile=`` are mutually exclusive.

        If a static credential is supplied alongside a credentials provider
        (``credentials=`` / ``config=`` / ``profile=``), or if
        ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` is set alongside a
        profile or federation configuration, the static credential takes
        precedence and a one-shot warning is logged on the ``anthropic``
        logger.
        NrF   rG   ANTHROPIC_WEBHOOK_SIGNING_KEYANTHROPIC_BASE_URLhttps://api.anthropic.comANTHROPIC_CUSTOM_HEADERS
:r   r
   =Pass at most one of `credentials=`, `config=`, or `profile=`.re   r=   rC   rK   	versionr=   rg   rf   rj   custom_headerscustom_queryrk   rl   )$rH   rI   rJ   rA   rB   r]   splitfindstripr   	TypeErrorr%   dictextra_headersresolved_base_urlr'   r3   r)   strproviderr=   r?   r8   rD   rL   
isinstancer   r`   r$   r&   rb   super__init__r   r   _default_stream_clsselfrA   rB   r8   rd   re   r]   r=   rf   rg   rh   ri   rj   rk   rl   r`   has_explicit_credentialbase_url_is_explicitcustom_headers_envparsedlinecoloncredential_headers	in_memory
creds_fileresult	__class__s                             r2   r   zAnthropic.__init__   s6   x 4 #%#$&# T!# d" 	  'jjnn%89G(>?J$ **..)HIK&zz~~&:;H
  (t32HZZ^^,FG)%'F*006 M		#A:37	3D3J3J3LF4<--/0M gf|O?\ObdfO .0&'*= _``&tF|4I#K!*!8!8!:'I,G,G$66 & _``(9J$K!+!9!9!;'J,H,H%777?z7Io^bNc(8#h-QlmF!$oo%+%9%9"+%H";H>&g*R]^Z@,1 ,D;F;R
; 7X\DBFBSBSB_OD,=,=>eiO!3O8M2OO 	##*&!(C 	 
	
 $* r4   c                    ddl m}  ||       S )Nr
   )rU   )resources.completionsrU   )r   rU   s     r2   rP   zAnthropic.completions'  s    64  r4   c                    ddl m}  ||       S )Nr
   )rW   )resources.messagesrW   )r   rW   s     r2   rO   zAnthropic.messages-  s    0~r4   c                    ddl m}  ||       S )Nr
   )rQ   )resources.modelsrQ   )r   rQ   s     r2   rN   zAnthropic.models3  s    ,d|r4   c                    ddl m}  ||       S )Nr
   )rS   )resources.betarS   )r   rS   s     r2   rM   zAnthropic.beta9  s    (Dzr4   c                    t        |       S N)AnthropicWithRawResponser   s    r2   with_raw_responsezAnthropic.with_raw_response?  s    '--r4   c                    t        |       S r   )AnthropicWithStreamedResponser   s    r2   with_streaming_responsez!Anthropic.with_streaming_responseC      ,T22r4   c                    t        d      S Nbrackets)array_formatr   r   s    r2   qszAnthropic.qsG       
33r4   c                6    i | j                   | j                  S r   _api_key_auth_bearer_authr   s    r2   auth_headerszAnthropic.auth_headersL        ;$$$:(9(9::r4   c                *    | j                   }|i S d|iS N	X-Api-KeyrA   r   rA   s     r2   r   zAnthropic._api_key_authQ       ,,?IW%%r4   c                0    | j                   }|i S dd| iS NAuthorizationzBearer rB   r   rB   s     r2   r   zAnthropic._bearer_authX  *     __
I7:,!788r4   c                >    i t         |   ddd| j                  S )Nfalse
2023-06-01zX-Stainless-Asynczanthropic-version)r   rh   _custom_headersr   r   s    r2   rh   zAnthropic.default_headerse  s5    
g%
!(!-
 ""	
 	
r4   c                   | j                   #|j                  d      s|j                  d      sy |j                  d      s|j                  d      ry |j                  d      st        |j                  d      t              ry |j                  d      st        |j                  d      t              ry t	        d      Nr   r   z"Could not resolve authentication method. Expected one of api_key, auth_token, or credentials to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"r`   rJ   r   r   r~   r   headersry   s      r2   _validate_headerszAnthropic._validate_headerso  s     ([1IRYR]R]^mRn;;'7;;{+C;;{#z.2D2D[2QSW'X;;':n6H6H6Y[_+` J
 	
r4   c                    | j                   S r   rb   r   s    r2   custom_authzAnthropic.custom_auth          r4   c                    |j                   dk(  rO| j                  C| j                  j                          |j                  j                  j                  d      dk(  ryt        |   |      S N  zx-stainless-retry-count0Tstatus_coder`   
invalidaterequestr   rJ   r   _should_retryr   responser   s     r2   r   zAnthropic._should_retry  c     3&4+<+<+H((*''++,EF#Mw$X..r4   c                L    t         |           t        | j                         y r   r   r6   r9   r8   r   s    r2   r6   zAnthropic.close  s    4++,r4   rA   rB   r8   rd   re   r]   r=   rf   rj   rg   rh   set_default_headersri   set_default_queryrk   _extra_kwargsc               L   ||t        d      ||t        d      | j                  }|t        ||      }n||}| j                  }|i ||}n||}|	xs | j                  }	|$t        |t              r|t        d      d|i|}nu|"t        |t              st        d      d|i|}nQt        |t              r| j                  n|}|1t        |       r&d|i|}t        |t              rd| j                  i|} | j                  d	|xs | j                  |xs | j                  |xs | j                  |xs | j                  t        |t              r| j                   n||	t#        |
      r|
n| j$                  ||t        |t              r| j&                  n|d
|S 
z~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        zPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusivert   rd   re   r8   r`   )
rA   rB   r]   r=   rf   rj   rg   rh   ri   rk    
ValueErrorr   r#   _custom_query_clientr   r   r~   r8   r3   r`   r   rA   rB   r]   r=   rf   r   rg   _middlewarer   rA   rB   r8   rd   re   r]   r=   rf   rj   rg   rh   r   ri   r   rk   r   r   paramsresolved_credentialss                       r2   copyzAnthropic.copy     . &+>+Jopp$):)Fkll&&&#G_=G ,)G##$00-0F*&F!1T\\k848K _``%v??M k84 _``&A=AM7A+x7X4#3#3^i #/OD4I!.0D V V k84%3T5F5F$X-$XMt~~ 
+t||!4T__#7t'7'7.$.w$ADLLw#'/'<$BRBR# +5j(+Kt''Q[
 
 	
r4   c                B    | j                  g | j                  |      S zA new client with the given middleware appended after this client's middleware.

        Convenience for applying extra middleware to a single request:

        ```py
        client.with_middleware(my_middleware).messages.create(...)
        ```
        )rk   r   r   r   rk   s     r2   with_middlewarezAnthropic.with_middleware  &     yy$Dd&6&6$D$DyEEr4   c               *   |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 |j                   d
k(  rt        j                  |||      S |j                   dk\  rt        j                  |||      S t        |||      S Ni  )r   bodyr   i  i  i  i  i  i  i  i  r   r   BadRequestErrorAuthenticationErrorPermissionDeniedErrorNotFoundErrorConflictErrorRequestTooLargeErrorUnprocessableEntityErrorRateLimitErrorOverloadedErrorInternalServerErrorr   r   err_msgr   r   s       r2   _make_status_errorzAnthropic._make_status_error  x    3&..wPTUU3&227XTXYY3&44WxVZ[[3&,,WxdSS3&,,WxdSS3&33GhUYZZ3&77(Y]^^3&--gtTT3&..wPTUU3&227XTXYYgtDDr4   ) rA   r\   rB   r\   r8   r^   rd   Mapping[str, Any] | Nonere   r\   r]   r\   r=   str | httpx.URL | Nonerf   !float | Timeout | None | NotGivenrg   intrh   Mapping[str, str] | Noneri   Mapping[str, object] | Nonerj   httpx.Client | Nonerk    Sequence[MiddlewareInput] | Nonerl   boolr`   TokenCache | None | NotGivenreturnNone)r  rU   )r  rW   )r  rQ   )r  rS   )r  r   )r  r   r  r   r  zdict[str, str]r  zdict[str, str | Omit]r   r   ry   r   r  r  r  zhttpx.Auth | Noner   httpx.Responser  r  r  r  )"rA   r\   rB   r\   r8   %AccessTokenProvider | None | NotGivenrd   r  re   r\   r]   r\   r=   r  rf   r  rj   r  rg   int | NotGivenrh   r	  r   r	  ri   r
  r   r
  rk   +Sequence[MiddlewareInput] | None | NotGivenr   Mapping[str, Any]r  r   rk   r   r  r   r  r   r   objectr   r  r  r   !__name__
__module____qualname____annotations__r   HUMAN_PROMPT	AI_PROMPTr   r    r   r   rP   rO   rN   rM   r   r   propertyr	   r   r   r   r   rh   r   r   r   r6   r   with_optionsr   r  __classcell__r   s   @r2   r/   r/      s   ++##(( **L$$I
 #!%26+/""&+/5>.4859 ,07; -25>9R* R* 	R*
 0R* )R* R*  R* )R* 3R* R* 2R* 3R*" )#R*$ 5%R*6 &*7R*8 39R*: 
;R*h ! !
  
  
  
 . . 3 3 4  4 ;  ; & & 
9 
9 
  
 
 
4 !  ! / / - - #!%=F+/""&+/5>+/&/488<599=BK+-%I
 I
 	I

 ;I
 )I
 I
  I
 )I
 3I
 )I
 $I
 2I
 6I
 3I
  7!I
" @#I
$ )%I
& 
'I
Z L	F $E$E 	$E
 !$E 
$E $Er4   r/   c                      e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   ej
                  Zej                  Zdddddddeeddddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d" fdZ	e
d#d       Ze
d$d       Ze
d%d       Ze
d&d       Ze
d'd       Ze
d(d       Zeed)d              Zeed*d              Zed*d       Zed*d       Zeed+ fd              Zed,d       Zeed-d              Zed. fd       Zed/ fd       Zddeddddededdddei d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d0dZeZd1d Ze	 	 	 	 	 	 	 	 d2d!       Z xZ S )3r0   r\   rA   rB   r]   r^   r8   r_   r`   ra   rb   NFrc   c                  |duxs |duxs |duxs
 |duxs |du}|s>t         j                  j                  d      }t         j                  j                  d      }|| _        || _        |t         j                  j                  d      }|| _        |t         j                  j                  d      }|du}|d}t         j                  j                  d      }|li }|j                  d      D ]C  }|j                  d	      }|d
k\  s||dz   d j                         ||d| j                         <   E i |t        |
      r|
ni }
i }|P||t        d      t        t        |            }|}|j                         }|s`|j                  rT|j                  }nG|E|t        d      t        |      }|}|j                         }|s|j                  r|j                  }|\|Z|Xt!        |       rMt#        |rt%        |      nd      }|2|j&                  }|j                  }|s|j(                  r|j(                  }t+        |t%        |             || _        t/        |||       t1        ||       t3        |t4              s|| _        n|t9        |      nd| _        | j6                  t;        | j6                        nd| _        |r
i ||
xs i }
t>        |   tB        ||	|||
|||	       tD        | _#        y)uc  Construct a new async AsyncAnthropic client instance.

        Credentials are resolved in the following order (first match wins):

        1. Explicit constructor arguments — ``api_key=``, ``auth_token=``,
           ``credentials=``, ``config=``, or ``profile=``. When any of these
           is passed, environment variables are not consulted for credentials.
        2. ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` environment
           variables.
        3. ``ANTHROPIC_PROFILE`` environment variable — loads the named
           profile from ``<config_dir>/configs/<profile>.json``.
        4. Workload identity federation environment variables —
           ``ANTHROPIC_IDENTITY_TOKEN[_FILE]`` +
           ``ANTHROPIC_FEDERATION_RULE_ID`` + ``ANTHROPIC_ORGANIZATION_ID``.
        5. The active profile on disk — the profile named by
           ``<config_dir>/active_config``, or ``default``.

        ``credentials=``, ``config=``, and ``profile=`` are mutually exclusive.

        If a static credential is supplied alongside a credentials provider
        (``credentials=`` / ``config=`` / ``profile=``), or if
        ``ANTHROPIC_API_KEY`` / ``ANTHROPIC_AUTH_TOKEN`` is set alongside a
        profile or federation configuration, the static credential takes
        precedence and a one-shot warning is logged on the ``anthropic``
        logger.
        NrF   rG   rn   ro   rp   rq   rr   rs   r   r
   rt   ru   rv   rC   rK   rw   )$rH   rI   rJ   rA   rB   r]   r{   r|   r}   r   r~   r%   r   r   r   r'   r3   r)   r   r   r=   r?   r8   rD   rL   r   r   r`   r$   r&   rb   r   r   r   r   r   r   s                             r2   r   zAsyncAnthropic.__init__4  s6   x 4 #%#$&# T!# d" 	  'jjnn%89G(>?J$ **..)HIK&zz~~&:;H
  (t32HZZ^^,FG)%'F*006 M		#A:37	3D3J3J3LF4<--/0M gf|O?\ObdfO .0&'*= _``&tF|4I#K!*!8!8!:'I,G,G$66 & _``(9J$K!+!9!9!;'J,H,H%777?z7Io^bNc(8#h-QlmF!$oo%+%9%9"+%H";H>&g*R]^Z@,1 ,D;F;R
; 7X\DBFBSBSB_OD,=,=>eiO!3O8M2OO 	##*&!(C 	 
	
 $/ r4   c                    ddl m}  ||       S )Nr
   )rV   )r   rV   )r   rV   s     r2   rP   zAsyncAnthropic.completions  s    ;%%r4   c                    ddl m}  ||       S )Nr
   )rX   )r   rX   )r   rX   s     r2   rO   zAsyncAnthropic.messages  s    5T""r4   c                    ddl m}  ||       S )Nr
   )rR   )r   rR   )r   rR   s     r2   rN   zAsyncAnthropic.models  s    14  r4   c                    ddl m}  ||       S )Nr
   )rT   )r   rT   )r   rT   s     r2   rM   zAsyncAnthropic.beta  s    -r4   c                    t        |       S r   )AsyncAnthropicWithRawResponser   s    r2   r   z AsyncAnthropic.with_raw_response  r   r4   c                    t        |       S r   )"AsyncAnthropicWithStreamedResponser   s    r2   r   z&AsyncAnthropic.with_streaming_response  s    1$77r4   c                    t        d      S r   r   r   s    r2   r   zAsyncAnthropic.qs  r   r4   c                6    i | j                   | j                  S r   r   r   s    r2   r   zAsyncAnthropic.auth_headers  r   r4   c                *    | j                   }|i S d|iS r   r   r   s     r2   r   zAsyncAnthropic._api_key_auth  r   r4   c                0    | j                   }|i S dd| iS r   r   r   s     r2   r   zAsyncAnthropic._bearer_auth  r   r4   c                T    i t         |   dt                dd| j                  S )Nzasync:r   r   )r   rh   r   r   r   s    r2   rh   zAsyncAnthropic.default_headers  sA    
g%
#)*;*=)>!?!-
 ""	
 	
r4   c                   | j                   #|j                  d      s|j                  d      sy |j                  d      s|j                  d      ry |j                  d      st        |j                  d      t              ry |j                  d      st        |j                  d      t              ry t	        d      r   r   r   s      r2   r   z AsyncAnthropic._validate_headers  s     ([1IRYR]R]^mRn;;'7;;{+C;;{#z.2D2D[2QSW'X;;':n6H6H6Y[_+` J
 	
r4   c                    | j                   S r   r   r   s    r2   r   zAsyncAnthropic.custom_auth%  r   r4   c                    |j                   dk(  rO| j                  C| j                  j                          |j                  j                  j                  d      dk(  ryt        |   |      S r   r   r   s     r2   r   zAsyncAnthropic._should_retry*  r   r4   c                h   K   t         |           d {    t        | j                         y 7 wr   r   r   s    r2   r6   zAsyncAnthropic.close9  s+     gmo 	4++, 	s   202r   c               L   ||t        d      ||t        d      | j                  }|t        ||      }n||}| j                  }|i ||}n||}|	xs | j                  }	|$t        |t              r|t        d      d|i|}nu|"t        |t              st        d      d|i|}nQt        |t              r| j                  n|}|1t        |       r&d|i|}t        |t              rd| j                  i|} | j                  d	|xs | j                  |xs | j                  |xs | j                  |xs | j                  t        |t              r| j                   n||	t#        |
      r|
n| j$                  ||t        |t              r| j&                  n|d
|S r   r   r   s                       r2   r   zAsyncAnthropic.copyB  r   r4   c                B    | j                  g | j                  |      S r   r   r   s     r2   r   zAsyncAnthropic.with_middleware  r   r4   c               *   |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 |j                   d
k(  rt        j                  |||      S |j                   dk\  rt        j                  |||      S t        |||      S r   r   r  s       r2   r  z!AsyncAnthropic._make_status_error  r  r4   ) rA   r\   rB   r\   r8   r^   rd   r  re   r\   r]   r\   r=   r  rf   r  rg   r  rh   r	  ri   r
  rj   httpx.AsyncClient | Nonerk   r  rl   r  r`   r  r  r  )r  rV   )r  rX   )r  rR   )r  rT   )r  r2  )r  r4  r  r  r  r  r  r  r  )"rA   r\   rB   r\   r8   r  rd   r  re   r\   r]   r\   r=   r  rf   r  rj   rA  rg   r  rh   r	  r   r	  ri   r
  r   r
  rk   r  r   r  r  r   r  r  r   r*  s   @r2   r0   r0   '  s   ++##(( **L$$I
 #!%26+/""&+/5>.4859 157; -25>9R/ R/ 	R/
 0R/ )R/ R/  R/ )R/ 3R/ R/ 2R/ 3R/" .#R/$ 5%R/6 &*7R/8 39R/: 
;R/h & &
 # #
 ! !
  
 3 3 8 8 4  4 ;  ; & & 
9 
9 
  
 
 
( !  ! / / - - #!%=F+/""&+/5>04&/488<599=BK+-%I
 I
 	I

 ;I
 )I
 I
  I
 )I
 3I
 .I
 $I
 2I
 6I
 3I
  7!I
" @#I
$ )%I
& 
'I
Z L	F $E$E 	$E
 !$E 
$E $Er4   r0   c                  h    e Zd ZU ded<   d	dZed
d       Zedd       Zedd       Zedd       Z	y)r   r/   r   c                    || _         y r   r   r   r1   s     r2   r   z!AnthropicWithRawResponse.__init__  	    r4   c                F    ddl m}  || j                  j                        S )Nr
   )CompletionsWithRawResponse)r   rH  r   rP   )r   rH  s     r2   rP   z$AnthropicWithRawResponse.completions  s    E)$,,*B*BCCr4   c                F    ddl m}  || j                  j                        S )Nr
   )MessagesWithRawResponse)r   rJ  r   rO   )r   rJ  s     r2   rO   z!AnthropicWithRawResponse.messages  s    ?&t||'<'<==r4   c                F    ddl m}  || j                  j                        S )Nr
   )ModelsWithRawResponse)r   rL  r   rN   )r   rL  s     r2   rN   zAnthropicWithRawResponse.models  s    ;$T\\%8%899r4   c                F    ddl m}  || j                  j                        S )Nr
   )BetaWithRawResponse)r   rN  r   rM   )r   rN  s     r2   rM   zAnthropicWithRawResponse.beta  s    7"4<<#4#455r4   Nr1   r/   r  r  )r  z&completions.CompletionsWithRawResponse)r  z messages.MessagesWithRawResponse)r  zmodels.ModelsWithRawResponse)r  zbeta.BetaWithRawResponse
r!  r"  r#  r$  r   r   rP   rO   rN   rM   r   r4   r2   r   r     s_     D D
 > >
 : :
 6 6r4   r   c                  h    e Zd ZU ded<   d	dZed
d       Zedd       Zedd       Zedd       Z	y)r2  r0   r   c                    || _         y r   rD  rE  s     r2   r   z&AsyncAnthropicWithRawResponse.__init__  rF  r4   c                F    ddl m}  || j                  j                        S )Nr
   )AsyncCompletionsWithRawResponse)r   rT  r   rP   )r   rT  s     r2   rP   z)AsyncAnthropicWithRawResponse.completions  s    J.t||/G/GHHr4   c                F    ddl m}  || j                  j                        S )Nr
   )AsyncMessagesWithRawResponse)r   rV  r   rO   )r   rV  s     r2   rO   z&AsyncAnthropicWithRawResponse.messages  s    D+DLL,A,ABBr4   c                F    ddl m}  || j                  j                        S )Nr
   )AsyncModelsWithRawResponse)r   rX  r   rN   )r   rX  s     r2   rN   z$AsyncAnthropicWithRawResponse.models  s    @)$,,*=*=>>r4   c                F    ddl m}  || j                  j                        S )Nr
   )AsyncBetaWithRawResponse)r   rZ  r   rM   )r   rZ  s     r2   rM   z"AsyncAnthropicWithRawResponse.beta  s    <'(9(9::r4   Nr1   r0   r  r  )r  z+completions.AsyncCompletionsWithRawResponse)r  z%messages.AsyncMessagesWithRawResponse)r  z!models.AsyncModelsWithRawResponse)r  zbeta.AsyncBetaWithRawResponserP  r   r4   r2   r2  r2    sa     I I
 C C
 ? ?
 ; ;r4   r2  c                  h    e Zd ZU ded<   d	dZed
d       Zedd       Zedd       Zedd       Z	y)r   r/   r   c                    || _         y r   rD  rE  s     r2   r   z&AnthropicWithStreamedResponse.__init__  rF  r4   c                F    ddl m}  || j                  j                        S )Nr
   ) CompletionsWithStreamingResponse)r   r_  r   rP   )r   r_  s     r2   rP   z)AnthropicWithStreamedResponse.completions  s    K/0H0HIIr4   c                F    ddl m}  || j                  j                        S )Nr
   )MessagesWithStreamingResponse)r   ra  r   rO   )r   ra  s     r2   rO   z&AnthropicWithStreamedResponse.messages  s    E,T\\-B-BCCr4   c                F    ddl m}  || j                  j                        S )Nr
   )ModelsWithStreamingResponse)r   rc  r   rN   )r   rc  s     r2   rN   z$AnthropicWithStreamedResponse.models  s    A*4<<+>+>??r4   c                F    ddl m}  || j                  j                        S )Nr
   )BetaWithStreamingResponse)r   re  r   rM   )r   re  s     r2   rM   z"AnthropicWithStreamedResponse.beta  s    =():):;;r4   NrO  )r  z,completions.CompletionsWithStreamingResponse)r  z&messages.MessagesWithStreamingResponse)r  z"models.ModelsWithStreamingResponse)r  zbeta.BetaWithStreamingResponserP  r   r4   r2   r   r     sc     J J
 D D
 @ @
 < <r4   r   c                  h    e Zd ZU ded<   d	dZed
d       Zedd       Zedd       Zedd       Z	y)r4  r0   r   c                    || _         y r   rD  rE  s     r2   r   z+AsyncAnthropicWithStreamedResponse.__init__$  rF  r4   c                F    ddl m}  || j                  j                        S )Nr
   )%AsyncCompletionsWithStreamingResponse)r   ri  r   rP   )r   ri  s     r2   rP   z.AsyncAnthropicWithStreamedResponse.completions'  s    P4T\\5M5MNNr4   c                F    ddl m}  || j                  j                        S )Nr
   )"AsyncMessagesWithStreamingResponse)r   rk  r   rO   )r   rk  s     r2   rO   z+AsyncAnthropicWithStreamedResponse.messages-  s    J1$,,2G2GHHr4   c                F    ddl m}  || j                  j                        S )Nr
   ) AsyncModelsWithStreamingResponse)r   rm  r   rN   )r   rm  s     r2   rN   z)AsyncAnthropicWithStreamedResponse.models3  s    F/0C0CDDr4   c                F    ddl m}  || j                  j                        S )Nr
   )AsyncBetaWithStreamingResponse)r   ro  r   rM   )r   ro  s     r2   rM   z'AsyncAnthropicWithStreamedResponse.beta9  s    B-dll.?.?@@r4   Nr[  )r  z1completions.AsyncCompletionsWithStreamingResponse)r  z+messages.AsyncMessagesWithStreamingResponse)r  z'models.AsyncModelsWithStreamingResponse)r  z#beta.AsyncBetaWithStreamingResponserP  r   r4   r2   r4  r4  !  se     O O
 I I
 E E
 A Ar4   r4  )r1   r  r  r  )r8   r  r  r  )r8   r^   r=   r   r  r  )rA   r\   rB   r\   r8   r  r  r  )rA   r\   rB   r\   r  r  )X
__future__r   rH   typingr   r   r   r   typing_extensionsr   r	   httpx r   r   _qsr   _typesr   r   r   r   r   r   r   r   _utilsr   r   r   _compatr   _versionr   
_streamingr   r   r   r   r   _base_clientr    r!   r"   r#   lib.credentialsr$   r%   r&   r'   r(   r)   lib.credentials._authr*   r+   lib.credentials._constantsr,   r3   r9   r?   rD   rL   	resourcesrM   rN   rO   rP   r   rQ   rR   resources.beta.betarS   rT   r   rU   rV   resources.messages.messagesrW   rX   __all__r/   r0   r   r2  r   r4  rY   rZ   r   r4   r2   <module>r     s    # 	 8 8 ,  % 	 	 	 
 % ! D ' (   K7	?G  >>54DD	^E ^EBZE^ ZEz6 6>; ;>< <>A A> 
r4   