
    Cj                       S SK Jr  S SKrS SKrS SKrS SKrS SKJrJrJ	r	J
r
JrJrJr  S SKJrJrJr  S SKJrJr  S SKrSSKJr  SSKJrJrJr  SS	KJr  SS
KJrJ r   SSK!J"r"  SSK#J$r$J%r%  SSK&J'r'  SSK(J)r)  SSK*J+r+J,r,J-r-  \
/ \.4   r/\
/ S4   r0\S   r1\2\1\\3   4   r4\Rj                  " S5      r6\" SS9 " S S5      5       r7\" SS9 " S S5      5       r8S+S jr9S,S jr:S-S jr;S.S jr<            S/S jr=S0S jr>SS.                     S1S  jjr?                      S2S! jr@      S3S" jrA      S4S# jrBS5S$ jrCS5S% jrD " S& S'\5      rE " S( S)\ 5      rF/ S*QrGg)6    )annotationsN)AnyLiteralMappingCallableOptional	Awaitablecast)fieldreplace	dataclass)Selfoverride   )WorkloadIdentity)	NOT_GIVENTimeoutNotGiven)is_given)OpenAIAsyncOpenAI)FinalRequestOptions)	_Provider_configure_provider)OpenAIError)DEFAULT_MAX_RETRIES)AwsCredentialsProviderbedrock_BedrockProviderRuntimezstr | Awaitable[str])bearertoken_provideraws    T)frozenc                  J    \ rS rSr% S\S'   S\S'   S\S'   \" SS	9rS
\S'   Srg)_LegacyRuntimeSignature   _LegacyAuthModemodestrbase_url
str | NoneregionFreprobjectcredential_identity N)__name__
__module____qualname____firstlineno____annotations__r   r1   __static_attributes__r2       d/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/openai/lib/bedrock.pyr&   r&      s#    
M"'U"33r9   r&   c                      \ rS rSr% \" SS9rS\S'   \" SSS9rS\S'   S\S	'   S
\S'   S\S'   \" SS9rS\S'   \" SS9r	S\S'   \" SS9r
S\S'   \" SSS9rS\S'   S
\S'   \" SS9rS\S'   S
\S'   Srg)_LegacyBedrockState&   Fr.   r,   explicit_api_key)r/   compare7BedrockTokenProvider | AsyncBedrockTokenProvider | Noner!   
aws_regionboolregion_was_explicitaws_profileaws_access_key_idaws_secret_access_keyaws_session_tokenAwsCredentialsProvider | Noneaws_credentials_provideruses_environment_bearerenvironment_bearer_tokenuses_region_derived_base_urlr2   N)r3   r4   r5   r6   r   r>   r7   r!   rE   rF   rG   rI   rK   r8   r2   r9   r:   r<   r<   &   s    #(e#4j4NSY^hmNnNKn$)u$5z5(-5(9:9$)u$5z5>CX]>^;^!!+0e+<j<"&&r9   r<   c                x    U R                   =(       d(    U R                  (       a  U R                  OS=(       d    S$ )N )r>   rJ   rK   )states    r:   _state_api_keyrP   6   s*    !!tHeHee&D&Dkmtrttr9   c                     [         R                  " U 5      R                  nX;   =(       d     [        S UR                  5        5       5      $ ! [        [        4 a     gf = f)NFc              3  l   #    U  H*  oR                   [        R                  R                  L v   M,     g 7fN)kindinspect	ParameterVAR_KEYWORD).0	parameters     r:   	<genexpr>/_constructor_accepts_keyword.<locals>.<genexpr>@   s'      %I\I'++777I\s   24)rU   	signature
parameters	TypeError
ValueErroranyvalues)constructornamer]   s      r:   _constructor_accepts_keywordrd   :   se    &&{3>>
   %ISIZIZI\% "  z" s    A A A c                    U =(       dE    [         R                  R                  S5      =(       d    [         R                  R                  S5      nUb%  UR                  5       (       a  UR                  5       $ S $ )N
AWS_REGIONAWS_DEFAULT_REGION)osenvirongetstrip)r-   
configureds     r:   _configured_regionrm   E   sT    _2::>>,7_2::>>J^;_J!+!7J<L<L<N<N:XTXXr9   c                    [        U [        5      (       a  U R                  5       (       d  S n U b  g[        R                  R                  S5      nUS L =(       d    UR                  5       (       + $ )NFAWS_BEDROCK_BASE_URL)
isinstancer*   rk   rh   ri   rj   )r+   environment_base_urls     r:   _uses_region_derived_base_urlrr   J   sZ    (C  )9)9::>>*@A4'K/C/I/I/K+KKr9   c                0    [        S U UUUU4 5       5      $ )Nc              3  *   #    U  H	  nUS Lv   M     g 7frS   r2   )rX   values     r:   rZ   )_has_explicit_aws_auth.<locals>.<genexpr>\   s       	
E 	T
s   )r`   rD   rE   rF   rG   rI   s        r:   _has_explicit_aws_authrx   T   s1      	 !$
	 	 	r9   c                 h    [         R                  R                  S5      n U (       d  [        S5      eU $ )NAWS_BEARER_TOKEN_BEDROCKzuCould not find credentials for Bedrock. Set `AWS_BEARER_TOKEN_BEDROCK` or configure the default AWS credential chain.)rh   ri   rj   r   )tokens    r:   _environment_bearer_tokenr|   h   s1    JJNN56E$
 	
 Lr9   )rC   c        
        &   [        [        [        U 5      5      (       a  [        S5      eU S:X  a  [        S5      eU b  Ub  [        S5      e[	        UUUUUS9n
U c  Ub  U
(       a  [        S5      e[
        R                  R                  S5      nU S L =(       a$    US L =(       a    U
(       + =(       a    [        U5      n[        U5      n[        U5      n[        U[        5      (       a  UR                  5       (       d  S nOUc  [        nOUn[        UUU b  U OU(       a  UO[        UUUUUUS9	n[!        U UUU	c"  [        U=(       a    UR                  5       5      OU	UUUUUUU(       a  UOS US9nUUU =(       d    U(       a  UOS=(       d    S4$ )	NQPass refreshable Bedrock credentials via `bedrock_token_provider`, not `api_key`.rN   z)The `api_key` argument must not be empty.Bedrock authentication is ambiguous. Configure exactly one explicit mode: bearer credential, static AWS credentials, profile, or credential provider.rw   rz   )	r-   r+   api_keyr!   access_key_idsecret_access_keysession_tokenprofilecredential_provider)r>   r!   rA   rC   rD   rE   rF   rG   rI   rJ   rK   rL   )callabler
   r0   r   rx   rh   ri   rj   rB   rm   rr   rp   r*   rk   r   r   r<   )r   r!   rA   rD   rE   rF   rG   rI   r+   rC   explicit_aws_authenvironment_tokenrJ   resolved_regionrL   provider_base_urlproviderrO   s                     r:   _legacy_providerr   r   s    VW%&&mnn"}EFF~9G
 	

 /+3+!9 	~9?PG
 	

 

'AB4hNd2h;L7LhQUVgQh  )4O#@#J  (C  )9)9 		%$"".I`4Efo%'/'4
H   %"7J7RD2
 0 0 23Xk+3+!9 76M!2SW%AE  UGc=T(9Z\cacccr9   c       	   
        [        U 5        U R                  n
U R                  =(       d    SnU
R                  S L =(       a    U[	        U
5      :g  n[        UUUUUS9nUS L=(       d    US LnU(       a  U(       a  [        S5      eUb  UOU(       a  Uc	  U(       d  UOS nUS L=(       d    US LnUS L=(       d    U	S LnU(       d2  U(       d+  U(       d$  [        U 5        0 U R                  U R                  4$ U(       a  UnUnS nS nS nS nS nOU(       a  S nS nUnUnUnUnUnOU
R                  nU
R                  nU
R                  (       a  U
R                  =(       d
    [        5       nS nU
R                  nU
R                  nU
R                  nU
R                   nU
R"                  nUb  UOU R$                  nUS L=(       d    U
R&                  nUb  Uc  U
R&                  (       d  S nU	b  U	nO U
R(                  (       a  SnOU R*                  nUUUUUUUUUS.	n[-        U R.                  R0                  S5      (       a  UUS'   US S 4$ )NrN   rw   r   	r   bedrock_token_providerrA   rD   rE   rF   rG   rI   r+   _region_was_explicit)!_synchronize_legacy_routing_state_bedrock_stater   r!   rP   rx   r    _refresh_legacy_provider_runtime_bedrock_providerr>   rJ   rK   r|   rD   rE   rF   rG   rI   rA   rC   rL   r+   rd   	__class____init__)clientr   r!   rA   rD   rE   rF   rG   rI   r+   rO   current_api_keyapi_key_was_mutatedaws_overrideexplicit_bearer_overrideeffective_api_keybearer_overriderouting_overridenext_api_keynext_token_providernext_profilenext_access_key_idnext_secret_access_keynext_session_tokennext_credentials_providernext_regionnext_region_was_explicitnext_base_urlprovider_kwargss                                r:   _copy_configurationr      s    &f-!!Enn*O..$6c?n]bNc;c)+3+!9L  'd2PnD6PLG
 	
  	 >#9,   (t3Q~T7QO!-E1E<8H(06++V-B-BBB(,!!%!$(!	"".!6.$<!--#22(( 99X=V=XL"&(("44!&!<!<"44$)$B$B! * 6*F<M<MK)5R9R9R:#5e>W>W08		+	+  "5!#/!7/$=!
*O $F$4$4$=$=?UVV2J./D$&&r9   c                   Uu  p#[        U[        5      (       a5  [        R                  " UR	                  5       [
        S9R                  5       O
[        U5      n[        U[        U R                  5      U R                  US9$ )N)key)r)   r+   r-   r1   )rp   r*   hashlibblake2sencode_LEGACY_SIGNATURE_KEYdigestidr&   r+   rA   )r   configurationr)   
credentialr1   s        r:   _legacy_runtime_signaturer   )  st     %D j#&& 	
))+1FGNNP
^ 
 #V__%  /	 r9   c           
        Uu  p#US:X  aF  [        U[        5      (       a  U(       d  [        S5      e[        U R                  U R
                  US9$ US:X  a)  [        U R                  U R
                  [        SU5      S9$ U R                  n[        U R                  U R
                  UR                  UR                  UR                  UR                  UR                  S9$ )Nr    z0The Bedrock bearer credential must not be empty.)r-   r+   r   r!   AsyncBedrockTokenProvider)r-   r+   r!   )r-   r+   r   r   r   r   r   )rp   r*   r   r   rA   r+   r
   r   rD   rE   rF   rG   rI   )r   r   r)   r   rO   s        r:   _provider_for_legacy_clientr   ;  s     %Dx*c***PQQ$$__
 	

 $$__ ;ZH
 	
 !!E  !!--55--!:: r9   c                   U R                   n[        U R                  5      UR                  :g  nU R                  UR                  :g  nU(       a   [        U R                  SS9U l        SU l        U(       ap  [        U R                  U R                  U R                  S LS9U l        U R                  R                  (       a$  U R                  b  SU R                   S3U l        g g g g )NF)rL   )rA   rC   zhttps://bedrock-mantle.z.api.aws/openai/v1)	_bedrock_runtime_signaturer*   r+   rA   r-   r   r   rr   rL   )r   previous_signaturebase_url_changedregion_changeds       r:   r   r   [  s    ::6??+/A/J/JJ&&*<*C*CCN '(=(=\a b/4, '!!(( & 1 1 =!

   ==&BSBSB_ 78I8I7JJ\]FO C`= r9   c                   [        U 5        U R                  5       n[        X5      nX R                  :X  a  g [	        X5      nX0l        X0l        [        U5      U l        [        U R                  [        5      (       ab  U R                  cU  U R                  R                  b>  U R                  R                  U l        [        U R                  U R                  S9U l        [        X5      U l        g )NrA   )r   _legacy_auth_configurationr   r   r   r   	_providerr   _provider_runtimerp   r   rA   r-   r   r   )r   r   r\   r   s       r:   r   r   l  s    %f-557M)&@I555*6AH'28<F6++-DEE%$$++7"44;; '(=(=&J[J[ \(A&(XF%r9   c                    ^  \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   SSSSSSSSSSSSS\\SSSSSSSSS.                                               SU 4S jjjrSS jr	SS jr
\SS j5       r\SU 4S jj5       r\SSS\SSSSSSSSSSSS\S\SSSSS0 S.                                                   S S jj5       r\rSrU =r$ )!BedrockOpenAIi  zECompatibility client for Amazon Bedrock's OpenAI-compatible endpoint.r   r   r<   r   BedrockTokenProvider | None_bedrock_token_providerrB   rr   r&   r   r,   rA   NFTr   r   rA   rD   rE   rF   rG   rI   organizationprojectwebhook_secretr+   websocket_base_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validation_enforce_credentialsr   _stater   c                 > Ub  Uc  [        UUUUUUUUUUS9
u  nnnO;UR                  =(       d(    UR                  (       a  UR                  OS=(       d    Sn[        TU ]  UU	U
UUUUUUUUSS9  UU l        UU l        [        SUR                  5      U l
        UR                  U l        [        R                  " SU R                  R                   5      n[#        U R$                  [&        5      (       a  U R$                  R(                  OS nUR*                  =(       d    U=(       d    Ub  UR-                  S5      OS U l        [/        UU R*                  S9U l        U=(       d    SU l        [3        X R5                  5       5      U l        g )	N
r   r!   rA   rD   rE   rF   rG   rI   r+   rC   rN   Fr   r   r   r   r   r   r   r   r   r   r   r   r   &bedrock-mantle\.([a-z0-9-]+)\.api\.aws   r   r   r>   rJ   rK   superr   r   r   r
   r!   r   rL   rr   re	fullmatchr+   hostrp   r   r   r-   rA   groupr   r   r   r   r   selfr   r   rA   rD   rE   rF   rG   rI   r   r   r   r+   r   r   r   r   r   r   r   r   r   r   r   public_api_keycanonical_regionprovider_regionr   s                              r:   r   BedrockOpenAI.__init__  s   6 0@5%'"3&;"3)A!$81-Iv~ '' 7=7U7UF33[]  	%)1#+'#(C!& 	 	
 "+$'+,I6K`K`'a$-3-P-P*<<(QSWS`S`SeSef-78N8NPg-h-hD""))nr 	  UU-=-I &&q)t 	
 &fI%+*CDJiJiJk*l'r9   c                    U R                   b  SU R                   4$ U R                  R                  c,  U R                  R                  (       d  U R                  (       a  SU R                  4$ gNr!   r    )r"   Nr   r   r>   rJ   r   r   s    r:   r   (BedrockOpenAI._legacy_auth_configuration  Y    ''3$d&B&BCC00<""::||dll++r9   c                    U R                   R                  S L =(       aH    U R                  (       + =(       a0    U R                  S L =(       a    U R                   R                  (       + $ rS   r   r>   r   r   rJ   r   s    r:   _uses_aws_authBedrockOpenAI._uses_aws_auth  Y    00D8 @LL @,,4@ ''???		
r9   c                   U R                   R                  (       aN  U R                   R                  =(       d    SnU R                  (       a  U R                  U:w  a  U R                  $ U$ U R                  bG  [        [        U R	                  5       5      n[        U[        5      (       a  U(       d  [        S5      eU$ U R                  $ NrN   zHExpected `bedrock_token_provider` argument to return a non-empty string.)
r   rJ   rK   r   r   r
   r0   rp   r*   r_   r   capturedr{   s      r:   _refresh_api_keyBedrockOpenAI._refresh_api_key  s    66**CCIrH#'<<DLLH4L4<<ZRZZ''3!=!=!?@EeS)) !kllL||r9   c                8   > [        U 5        [        TU ]	  U5      $ rS   r   r   _prepare_optionsr   optionsr   s     r:   r   BedrockOpenAI._prepare_options  s    (.w'00r9   r   admin_api_keyworkload_identityr   r   rA   rD   rE   rF   rG   rI   r   r   r   r   r+   r   r   r   r   set_default_headersr   set_default_queryr   _extra_kwargsc                  [        U5      (       a  [        S5      e[        U[        5      (       d  [        S5      eUc  Ub  [        S5      eUb  Ub  [	        S5      eUb  Ub  [	        S5      eU R
                  nUb  0 UEUEnOUb  UnU R                  nUb  0 UEUEnOUb  Un[        U UUUUUU	U
UUS9
u  nnn0 UEUb  UOU R                  Ub  UOU R                  Ub  UOU R                  Ub  UOU R                  [        U[        5      (       a  U R                  OUU=(       d    U R                  [        U5      (       a  UOU R                  UUUc  SOUS.
EUEnUb1  [!        U R"                  R$                  S	5      (       a  UUS	'   UUS
'   GOUGbI  UR'                  U R(                  R*                  =(       d    U R(                  R,                  U R(                  R.                  U R(                  R0                  U R(                  R2                  U R(                  R4                  U R(                  R6                  U R(                  R8                  U R(                  R:                  U R(                  R<                  (       a  SOU R>                  S9	  URA                  5        V V!s0 s H0  u  n n![!        U R"                  R$                  U 5      (       d  M-  U U!_M2     nn n!OcU R"                  [B        LaP  URA                  5        V V!s0 s H3  u  n n!U!c'  [!        U R"                  R$                  U 5      (       d  M0  U U!_M5     nn n!U R"                  " S0 UD6$ s  sn!n f s  sn!n f )Nr~   zHConfigure `provider` on `OpenAI`, not on `BedrockOpenAI.with_options()`.zRBedrockOpenAI only supports Bedrock bearer token or AWS credential authentication.PThe `default_headers` and `set_default_headers` arguments are mutually exclusiveLThe `default_query` and `set_default_query` arguments are mutually exclusive	r   r!   rA   rD   rE   rF   rG   rI   r+   T
r   r   r   r   r   r   r   r   r   r   r   r   rN   r   r2   )"r   r   rp   r   r_   _custom_headers_custom_queryr   r   r   r   r   r   _clientr   r   rd   r   r   updater   r>   rK   r!   rA   rD   rE   rF   rG   rI   rL   r+   itemsr   "r   r   r   r   r   r   rA   rD   rE   rF   rG   rI   r   r   r   r   r+   r   r   r   r   r   r   r   r   r  headersparamsr   inherited_providerinherited_stateconstructor_kwargsrc   ru   s"                                     r:   copyBedrockOpenAI.copy  se   < Gqrr(H--hii$(9(Erss&+>+Jopp$):)Fkll&&&44O4G ,)G##$00-0F*&F?R1!#/"7/%=@
<+_.
.
,8,DL$J[J[")"5w4<<0>0JnPTPcPc8J8V"4\`\s\s'1'8'D'Dt||'&6$,,*2;*?*?;TEUEU&#,@,HDNb.
 .
 ).J4>>KbKbdo.p.p.@{++:x(+%%++<<l@S@S@l@l'+':':'I'I..99 //;;"&"5"5"G"G&*&9&9&O&O"&"5"5"G"G)-)<)<)U)U#22OOUYUbUb & 
 $6#;#;#="#=KD%/0G0GN e#=  "
 ^^=0 $6#;#;#="#=KD%$(DT^^E\E\^b(c e#=  "
 ~~3 233""   %,MM/M9Mr   r   r   r   rr   r   rA   )0r   r,   r   r   rA   r,   rD   r,   rE   r,   rF   r,   rG   r,   rI   rH   r   r,   r   r,   r   r,   r+   str | httpx.URL | Noner   r  r   !float | Timeout | None | NotGivenr   intr   Mapping[str, str] | Noner   Mapping[str, object] | Noner   httpx.Client | Noner   rB   r   rB   r   _Provider | Noner   _LegacyBedrockState | Noner   bool | NonereturnNoner  _LegacyAuthConfigurationr  rB   r  r*   r   r   r  r   )4r   z!str | BedrockTokenProvider | Noner   r,   r   WorkloadIdentity | Noner   _Provider | None | NotGivenr   r   rA   r,   rD   r,   rE   r,   rF   r,   rG   r,   rI   rH   r   r,   r   r,   r   r,   r   r  r+   r  r   r  r   r  r   int | NotGivenr   r  r   r  r   r  r   r  r   r  r  Mapping[str, Any]r  r   r3   r4   r5   r6   __doc__r7   r   r   r   r   r   r   r   r   r  with_optionsr8   __classcell__r   s   @r:   r   r     s]   O  ''88#'' 77
 #>B!%"&(,,0(,BF#'"%)+/595>.4859+/,1%)&*-1,03Mm Mm !<	Mm
 Mm  Mm &Mm  *Mm &Mm #@Mm !Mm Mm #Mm )Mm 3Mm  3!Mm" #Mm$ 2%Mm& 3'Mm( ))Mm* &*+Mm, #-Mm. $/Mm0 +1Mm2 *3Mm4 
5Mm Mm^	
 	 	 1 1  6:$(5909>B!%"&(,,0(,BF#'"%)59+/5>+/&/488<599=,0+-7g4 3g4 "	g4
 3g4 .g4 !<g4 g4  g4 &g4  *g4 &g4 #@g4 !g4 g4  #!g4" 3#g4$ )%g4& 3'g4( ))g4* $+g4, 2-g4. 6/g40 31g42 73g44 *5g46 )7g48 
9g4 g4R Lr9   r   c                    ^  \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   SSSSSSSSSSSSS\\SSSSSSSSS.                                               SU 4S jjjrSS jr	SS jr
\SS j5       r\SU 4S jj5       r\SSS\SSSSSSSSSSSS\S\SSSSS0 S.                                                   S S jj5       r\rSrU =r$ )!AsyncBedrockOpenAIik  zKAsync compatibility client for Amazon Bedrock's OpenAI-compatible endpoint.r   r   r<   r    AsyncBedrockTokenProvider | Noner   rB   rr   r&   r   r,   rA   NFTr   c                 > Ub  Uc  [        UUUUUUUUUUS9
u  nnnO;UR                  =(       d(    UR                  (       a  UR                  OS=(       d    Sn[        TU ]  UU	U
UUUUUUUUSS9  UU l        UU l        [        SUR                  5      U l
        UR                  U l        [        R                  " SU R                  R                   5      n[#        U R$                  [&        5      (       a  U R$                  R(                  OS nUR*                  =(       d    U=(       d    Ub  UR-                  S5      OS U l        [/        UU R*                  S9U l        U=(       d    SU l        [3        X R5                  5       5      U l        g )	Nr   rN   Fr   r1  r   r   r   r   r   s                              r:   r   AsyncBedrockOpenAI.__init__u  s   6 0@5%'"3&;"3)A!$81-Iv~ '' 7=7U7UF33[]  	%)1#+'#(C!& 	 	
 "+$'+,NPVPePe'f$-3-P-P*<<(QSWS`S`SeSef-78N8NPg-h-hD""))nr 	  UU-=-I &&q)t 	
 &fI%+*CDJiJiJk*l'r9   c                    U R                   b  SU R                   4$ U R                  R                  c,  U R                  R                  (       d  U R                  (       a  SU R                  4$ gr   r   r   s    r:   r   -AsyncBedrockOpenAI._legacy_auth_configuration  r   r9   c                    U R                   R                  S L =(       aH    U R                  (       + =(       a0    U R                  S L =(       a    U R                   R                  (       + $ rS   r   r   s    r:   r   !AsyncBedrockOpenAI._uses_aws_auth  r   r9   c                  #    U R                   R                  (       aN  U R                   R                  =(       d    SnU R                  (       a  U R                  U:w  a  U R                  $ U$ U R                  bl  [        [        U R	                  5       5      n[        R                  " U5      (       a
  UI S h  vN n[        U[        5      (       a  U(       d  [        S5      eU$ U R                  $  N97fr   )r   rJ   rK   r   r   r
   r0   rU   isawaitablerp   r*   r_   r   s      r:   r   #AsyncBedrockOpenAI._refresh_api_key  s     66**CCIrH#'<<DLLH4L4<<ZRZZ''3!=!=!?@E""5))#eS)) !kllL||	 $s   B5C37C18:C3c                T   >#    [        U 5        [        TU ]	  U5      I S h  vN $  N7frS   r   r   s     r:   r   #AsyncBedrockOpenAI._prepare_options  s$     (.W-g6666s   (&(r   c                  [        U5      (       a  [        S5      e[        U[        5      (       d  [        S5      eUc  Ub  [        S5      eUb  Ub  [	        S5      eUb  Ub  [	        S5      eU R
                  nUb  0 UEUEnOUb  UnU R                  nUb  0 UEUEnOUb  Un[        U UUUUUU	U
UUS9
u  nnn0 UEUb  UOU R                  Ub  UOU R                  Ub  UOU R                  Ub  UOU R                  [        U[        5      (       a  U R                  OUU=(       d    U R                  [        U5      (       a  UOU R                  UUUc  SOUS.
EUEnUb1  [!        U R"                  R$                  S	5      (       a  UUS	'   UUS
'   GOUGbI  UR'                  U R(                  R*                  =(       d    U R(                  R,                  U R(                  R.                  U R(                  R0                  U R(                  R2                  U R(                  R4                  U R(                  R6                  U R(                  R8                  U R(                  R:                  U R(                  R<                  (       a  SOU R>                  S9	  URA                  5        V V!s0 s H0  u  n n![!        U R"                  R$                  U 5      (       d  M-  U U!_M2     nn n!OcU R"                  [B        LaP  URA                  5        V V!s0 s H3  u  n n!U!c'  [!        U R"                  R$                  U 5      (       d  M0  U U!_M5     nn n!U R"                  " S0 UD6$ s  sn!n f s  sn!n f )Nr~   zRConfigure `provider` on `AsyncOpenAI`, not on `AsyncBedrockOpenAI.with_options()`.zWAsyncBedrockOpenAI only supports Bedrock bearer token or AWS credential authentication.r  r  r  Tr  r   r   rN   r   r2   )"r   r   rp   r   r_   r  r  r   r   r   r   r   r   r	  r   r   rd   r   r   r
  r   r>   rK   r!   rA   rD   rE   rF   rG   rI   rL   r+   r  r0  r  s"                                     r:   r  AsyncBedrockOpenAI.copy  sf   < Gqrr(H--rss$(9(Ewxx&+>+Jopp$):)Fkll&&&44O4G ,)G##$00-0F*&F?R1!#/"7/%=@
<+_.
.
,8,DL$J[J[")"5w4<<0>0JnPTPcPc8J8V"4\`\s\s'1'8'D'Dt||'&6$,,*2;*?*?;TEUEU&#,@,HDNb.
 .
 ).J4>>KbKbdo.p.p.@{++:x(+%%++<<l@S@S@l@l'+':':'I'I..99 //;;"&"5"5"G"G&*&9&9&O&O"&"5"5"G"G)-)<)<)U)U#22OOUYUbUb & 
 $6#;#;#="#=KD%/0G0GN e#=  "
 ^^#55 $6#;#;#="#=KD%$(DT^^E\E\^b(c e#=  "
 ~~3 233""r  r  )0r   r,   r   r1  rA   r,   rD   r,   rE   r,   rF   r,   rG   r,   rI   rH   r   r,   r   r,   r   r,   r+   r  r   r  r   r  r   r  r   r  r   r  r   httpx.AsyncClient | Noner   rB   r   rB   r   r  r   r  r   r  r  r   r!  r#  r$  r%  )4r   z&str | AsyncBedrockTokenProvider | Noner   r,   r   r&  r   r'  r   r1  rA   r,   rD   r,   rE   r,   rF   r,   rG   r,   rI   rH   r   r,   r   r,   r   r,   r   r  r+   r  r   r  r   r?  r   r(  r   r  r   r  r   r  r   r  r   r  r  r)  r  r   r*  r.  s   @r:   r0  r0  k  s_   U  ''==#'' 77
 #CG!%"&(,,0(,BF#'"%)+/595>.485904,1%)&*-1,03Mm Mm !A	Mm
 Mm  Mm &Mm  *Mm &Mm #@Mm !Mm Mm #Mm )Mm 3Mm  3!Mm" #Mm$ 2%Mm& 3'Mm( .)Mm* &*+Mm, #-Mm. $/Mm0 +1Mm2 *3Mm4 
5Mm Mm^	
   7 7  ;?$(5909CG!%"&(,,0(,BF#'"%)59+/5>04&/488<599=,0+-7g4 8g4 "	g4
 3g4 .g4 !Ag4 g4  g4 &g4  *g4 &g4 #@g4 !g4 g4  #!g4" 3#g4$ )%g4& 3'g4( .)g4* $+g4, 2-g4. 6/g40 31g42 73g44 *5g46 )7g48 
9g4 g4R Lr9   r0  )r   r0  BedrockTokenProviderr   r   )rO   r<   r  r*   )rb   zCallable[..., object]rc   r*   r  rB   )r-   r,   r  r,   )r+   r  r  rB   )rD   r,   rE   r,   rF   r,   rG   r,   rI   rH   r  rB   r$  )r   r,   r!   r@   rA   r,   rD   r,   rE   r,   rF   r,   rG   r,   rI   rH   r+   r  rC   r  r  z*tuple[_Provider, _LegacyBedrockState, str])r   "BedrockOpenAI | AsyncBedrockOpenAIr   r,   r!   r@   rA   r,   rD   r,   rE   r,   rF   r,   rG   r,   rI   rH   r+   r  r  zFtuple[dict[str, object], _Provider | None, _LegacyBedrockState | None])r   rA  r   r"  r  r&   )r   rA  r   r"  r  r   )r   rA  r  r   )H
__future__r   rh   r   r   rU   typingr   r   r   r   r   r	   r
   dataclassesr   r   r   typing_extensionsr   r   httpxauthr   _typesr   r   r   _utilsr   r	  r   r   _modelsr   r   r   r   _exceptionsr   _base_clientr   providers.bedrockr   r   r   r*   r@  r   r(   tupler0   r"  urandomr   r&   r<   rP   rd   rm   rr   rx   r|   r   r   r   r   r   r   r   r0  __all__r2   r9   r:   <module>rQ     s   " 	 	   M M M 1 1 ,  # 1 1  ) ) 6 % . X XC( $R)?%?@ ;< (62B!BC 

2  $4 4 4 $' ' 'uY
L " &	
 " < 
(* (,NdNd LNd 	Nd
 Nd "Nd &Nd "Nd <Nd %Nd %Nd 0Ndbc'.c' c' L	c'
 c' c' "c' &c' "c' <c' %c' Lc'L.+ $.+ @^"Y*gF gTi iXr9   