
    2Rj                       d dl mZ d dlZd dlZd dlZd dl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mZ d dlZddl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" 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- e
g e.f   Z/e
g df   Z0ed   Z1e2e1ee3   f   Z4 ejj                  d      Z6 ed       G d d             Z7 ed       G d d             Z8d+dZ9d,dZ:d-dZ;d.dZ<	 	 	 	 	 	 	 	 	 	 	 	 d/dZ=d0dZ>dd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d1d Z?	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2d!Z@	 	 	 	 	 	 d3d"ZA	 	 	 	 	 	 d4d#ZBd5d$ZCd5d%ZD G d& d'e      ZE G d( d)e       ZFg d*ZGy)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                  H    e Zd ZU ded<   ded<   ded<    ed      Zd	ed
<   y)_LegacyRuntimeSignature_LegacyAuthModemodestrbase_url
str | NoneregionFreprobjectcredential_identityN)__name__
__module____qualname____annotations__r   r0        Z/var/www/html/meridian/meridian-ai/venv/lib/python3.12/site-packages/openai/lib/bedrock.pyr&   r&      s#    
M"'U"33r6   r&   c                     e Zd ZU  ed      Zded<    edd      Zded<   ded<   d	ed
<   ded<    ed      Zded<    ed      Zded<    ed      Z	ded<    edd      Z
ded<   d	ed<    ed      Zded<   d	ed<   y)_LegacyBedrockStateFr-   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_urlN)r1   r2   r3   r   r:   r4   r!   rA   rB   rC   rE   rG   r5   r6   r7   r9   r9   &   s    #(e#4j4NSY^hmNnNKn$)u$5z5(-5(9:9$)u$5z5>CX]>^;^!!+0e+<j<"&&r6   r9   c                Z    | j                   xs | j                  r| j                  ndxs dS )N )r:   rF   rG   )states    r7   _state_api_keyrL   6   s*    !!tHeHee&D&Dkmtrttr6   c                    	 t        j                  |       j                  }||v xs  t        d |j                         D              S # t        t        f$ r Y yw xY w)NFc              3  h   K   | ]*  }|j                   t        j                  j                  u  , y wN)kindinspect	ParameterVAR_KEYWORD).0	parameters     r7   	<genexpr>z/_constructor_accepts_keyword.<locals>.<genexpr>@   s*      %<E	'++777%s   02)rQ   	signature
parameters	TypeError
ValueErroranyvalues)constructornamerX   s      r7   _constructor_accepts_keywordr_   :   sg    &&{3>>
 :  %ISIZIZI\% "  z" s   A AAc                    | xs@ t         j                  j                  d      xs t         j                  j                  d      }| |j                         r|j                         S d S )N
AWS_REGIONAWS_DEFAULT_REGION)osenvirongetstrip)r,   
configureds     r7   _configured_regionrh   E   sQ    _2::>>,7_2::>>J^;_J!+!7J<L<L<N:XTXXr6   c                    t        | t              r| j                         sd } | yt        j                  j                  d      }|d u xs |j                          S )NFAWS_BEDROCK_BASE_URL)
isinstancer)   rf   rc   rd   re   )r*   environment_base_urls     r7   _uses_region_derived_base_urlrm   J   sT    (C )9::>>*@A4'K/C/I/I/K+KKr6   c                0    t        d | ||||fD              S )Nc              3  $   K   | ]  }|d u 
 y wrO   r5   )rT   values     r7   rV   z)_has_explicit_aws_auth.<locals>.<genexpr>\   s      	 	T	s   )r[   r@   rA   rB   rC   rE   s        r7   _has_explicit_aws_authrr   T   s1      	 !$
	 	 	r6   c                 ^    t         j                  j                  d      } | st        d      | S )NAWS_BEARER_TOKEN_BEDROCKzuCould not find credentials for Bedrock. Set `AWS_BEARER_TOKEN_BEDROCK` or configure the default AWS credential chain.)rc   rd   re   r   )tokens    r7   _environment_bearer_tokenrv   h   s1    JJNN56E$
 	
 Lr6   )r?   c        
           t        t        t        |             rt        d      | dk(  rt        d      | |t        d      t	        |||||      }
| ||
rt        d      t
        j                  j                  d      }| d u xr |d u xr |
 xr t        |      }t        |      }t        |      }t        |t              r|j                         sd }n|t        }n|}t        ||| | n	|r|nt        ||||||	      }t!        | |||	t        |xr |j                               n|	|||||||r|nd |      }||| xs
 |r|ndxs dfS )	NQPass refreshable Bedrock credentials via `bedrock_token_provider`, not `api_key`.rJ   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.rq   rt   )	r,   r*   api_keyr!   access_key_idsecret_access_keysession_tokenprofilecredential_provider)r:   r!   r=   r?   r@   rA   rB   rC   rE   rF   rG   rH   )callabler
   r/   r   rr   rc   rd   re   r>   rh   rm   rk   r)   rf   r   r   r9   )rz   r!   r=   r@   rA   rB   rC   rE   r*   r?   explicit_aws_authenvironment_tokenrF   resolved_regionrH   provider_base_urlproviderrK   s                     r7   _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 		%$"".I`4Efo%'/'4
H   %"7J7RD2
 0 0 23Xk+3+!9 76M!2SW%AE  UGc=T(9Z\cacccr6   c       	   
        t        |        | j                  }
| j                  xs d}|
j                  d u xr |t	        |
      k7  }t        |||||      }|d uxs |d u}|r|rt        d      ||n	|r||s|nd }|d uxs |d u}|d uxs |	d u}|s(|s&|s$t        |        i | j                  | j                  fS |r|}|}d }d }d }d }d }n|rd }d }|}|}|}|}|}nz|
j                  }|
j                  }|
j                  r|
j                  xs
 t               }d }|
j                  }|
j                  }|
j                  }|
j                   }|
j"                  }||n| j$                  }|d uxs |
j&                  }|||
j&                  sd }|	|	}n|
j(                  rd}n| j*                  }|||||||||d	}t-        | j.                  j0                  d      r||d<   |d d fS )NrJ   rq   ry   	rz   bedrock_token_providerr=   r@   rA   rB   rC   rE   r*   _region_was_explicit)!_synchronize_legacy_routing_state_bedrock_staterz   r!   rL   rr   r    _refresh_legacy_provider_runtime_bedrock_providerr:   rF   rG   rv   r@   rA   rB   rC   rE   r=   r?   rH   r*   r_   	__class____init__)clientrz   r!   r=   r@   rA   rB   rC   rE   r*   rK   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                                r7   _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V2J./D$&&r6   c                   |\  }}t        |t              r7t        j                  |j	                         t
              j                         n
t        |      }t        |t        | j                        | j                  |      S )N)key)r(   r*   r,   r0   )rk   r)   hashlibblake2sencode_LEGACY_SIGNATURE_KEYdigestidr&   r*   r=   )r   configurationr(   
credentialr0   s        r7   _legacy_runtime_signaturer   )  ss     %D* j#& 	
))+1FGNNP
^ 
 #V__%  /	 r6   c           	        |\  }}|dk(  r?t        |t              r|st        d      t        | j                  | j
                  |      S |dk(  r,t        | j                  | j
                  t        d|            S | j                  }t        | j                  | j
                  |j                  |j                  |j                  |j                  |j                        S )Nr    z0The Bedrock bearer credential must not be empty.)r,   r*   rz   r!   AsyncBedrockTokenProvider)r,   r*   r!   )r,   r*   r~   r{   r|   r}   r   )rk   r)   r   r   r=   r*   r
   r   r@   rA   rB   rC   rE   )r   r   r(   r   rK   s        r7   _provider_for_legacy_clientr   ;  s     %D*x*c**PQQ$$__
 	

 $$__ ;ZH
 	
 !!E  !!--55--!:: r6   c                   | j                   }t        | j                        |j                  k7  }| j                  |j                  k7  }|r#t        | j                  d      | _        d| _        |rmt        | j                  | j                  | j                  d u      | _        | j                  j                  r#| j                  d| j                   d| _        y y y y )NF)rH   )r=   r?   zhttps://bedrock-mantle.z.api.aws/openai/v1)	_bedrock_runtime_signaturer)   r*   r=   r,   r   r   rm   rH   )r   previous_signaturebase_url_changedregion_changeds       r7   r   r   [  s    ::6??+/A/J/JJ&&*<*C*CCN '(=(=\a b/4, '!!(( & 1 1 =!

   ==&BSBSB_ 78I8I7JJ\]FO C`= r6   c                   t        |        | j                         }t        | |      }|| j                  k(  ry t	        | |      }|| _        || _        t        |      | _        t        | j                  t              rc| j                  W| j                  j                  A| j                  j                  | _        t        | j                  | j                        | _        t        | |      | _        y )Nr=   )r   _legacy_auth_configurationr   r   r   r   	_providerr   _provider_runtimerk   r   r=   r,   r   r   )r   r   rW   r   s       r7   r   r   l  s    %f-557M)&-@IF555*6=AH'FF28<F6++-DE%$$++7"44;; '(=(=&J[J[ \(A&-(XF%r6   c                      e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   dddddddddddddeeddddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fdZddZddZ	e
dd       Ze
d fd       Ze
dddeddddddddddddededddddi d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       ZeZ xZS )BedrockOpenAIzECompatibility client for Amazon Bedrock's OpenAI-compatible endpoint.r   r   r9   r   BedrockTokenProvider | None_bedrock_token_providerr>   rm   r&   r   r+   r=   NFTrz   r   r=   r@   rA   rB   rC   rE   organizationprojectwebhook_secretr*   websocket_base_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validation_enforce_credentialsr   _stater   c                  ||t        ||||||||||
      \  }}}n,|j                  xs |j                  r|j                  ndxs d}t        |   ||	|
||||||||d       || _        || _        t        d|j                        | _
        |j                  | _        t        j                  d| j                  j                         }t#        | j$                  t&              r| j$                  j(                  nd }|j*                  xs |xs ||j-                  d      nd | _        t/        || j*                        | _        |xs d| _        t3        | | j5                               | _        y )	N
rz   r!   r=   r@   rA   rB   rC   rE   r*   r?   rJ   Fr   r   r   r   r   r   r   r   r   r   r   r   r   &bedrock-mantle\.([a-z0-9-]+)\.api\.aws   r   r   r:   rF   rG   superr   r   r   r
   r!   r   rH   rm   re	fullmatchr*   hostrk   r   r   r,   r=   groupr   rz   r   r   r   selfrz   r   r=   r@   rA   rB   rC   rE   r   r   r   r*   r   r   r   r   r   r   r   r   r   r   r   public_api_keycanonical_regionprovider_regionr   s                              r7   r   z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-hD""))nr 	  UU-=-I &&q)t 	
 &fI%+*CD$JiJiJk*l'r6   c                    | j                   d| j                   fS | j                  j                  "| j                  j                  s| j                  rd| j                  fS yNr!   r    )r"   Nr   r   r:   rF   rz   r   s    r7   r   z(BedrockOpenAI._legacy_auth_configuration  Y    ''3$d&B&BCC00<""::||dll++r6   c                    | j                   j                  d u xr6 | j                   xr' | j                  d u xr | j                   j                   S rO   r   r:   rz   r   rF   r   s    r7   _uses_aws_authzBedrockOpenAI._uses_aws_auth  Y    00D8 @LL @,,4@ ''???		
r6   c                ^   | j                   j                  rC| j                   j                  xs d}| j                  r| j                  |k7  r| j                  S |S | j                  =t        t        | j	                               }t        |t              r|st        d      |S | j                  S NrJ   zHExpected `bedrock_token_provider` argument to return a non-empty string.)
r   rF   rG   rz   r   r
   r/   rk   r)   rZ   r   capturedru   s      r7   _refresh_api_keyzBedrockOpenAI._refresh_api_key  s    66**CCIrH#'<<DLLH4L4<<ZRZZ''3!=!=!?@EeS) !kllL||r6   c                8    t        |        t        | 	  |      S rO   r   r   _prepare_optionsr   optionsr   s     r7   r   zBedrockOpenAI._prepare_options  s    (.w'00r6   rz   admin_api_keyworkload_identityr   r   r=   r@   rA   rB   rC   rE   r   r   r   r   r*   r   r   r   r   set_default_headersr   set_default_queryr   _extra_kwargsc               0   t        |      rt        d      t        |t              st        d      ||t        d      ||t	        d      ||t	        d      | j
                  }|i ||}n||}| j                  }|i ||}n||}t        | ||||||	|
||
      \  }}}i |||n| j                  ||n| j                  ||n| j                  ||n| j                  t        |t              r| j                  n||xs | j                  t        |      r|n| j                  |||dn|d
|}|,t!        | j"                  j$                  d	      r||d	<   ||d
<   n|8|j'                  | j(                  j*                  xs | j(                  j,                  | j(                  j.                  | j(                  j0                  | j(                  j2                  | j(                  j4                  | j(                  j6                  | j(                  j8                  | j(                  j:                  | j(                  j<                  rdn| j>                  	       |jA                         D  !ci c](  \  } }!t!        | j"                  j$                  |       r| |!* }} }!nW| j"                  tB        urE|jA                         D  !ci c]*  \  } }!|! t!        | j"                  j$                  |       r| |!, }} }! | j"                  di |S c c}!} w c c}!} w )Nrx   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	rz   r!   r=   r@   rA   rB   rC   rE   r*   T
r   r   r   r   r   r   r   r   r   r   r   r   rJ   r   r5   )"r   r   rk   r   rZ   _custom_headers_custom_queryr   r   r   r   r   r   _clientr   r   r_   r   r   updater   r:   rG   r!   r=   r@   rA   rB   rC   rE   rH   r*   itemsr   "r   rz   r   r   r   r   r=   r@   rA   rB   rC   rE   r   r   r   r   r*   r   r   r   r   r   r   r   r   r   headersparamsr   inherited_providerinherited_stateconstructor_kwargsr^   rp   s"                                     r7   copyzBedrockOpenAI.copy  sM   < 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'Dt||'&6$,,*2;*?;TEUEU&#,@,HDNb.
 .
 ).J4>>KbKbdo.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#;#;#="D%/0G0GN e" "
 ^^=0 $6#;#;#="D%$(DT^^E\E\^b(c e" "
 t~~3 233""   2-L/L)0rz   r+   r   r   r=   r+   r@   r+   rA   r+   rB   r+   rC   r+   rE   rD   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   r>   r   r>   r   _Provider | Noner   _LegacyBedrockState | Noner   bool | NonereturnNoner  _LegacyAuthConfigurationr  r>   r  r)   r   r   r  r   )4rz   z!str | BedrockTokenProvider | Noner   r+   r   WorkloadIdentity | Noner   _Provider | None | NotGivenr   r   r=   r+   r@   r+   rA   r+   rB   r+   rC   r+   rE   rD   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   r1   r2   r3   __doc__r4   r   r   r   r   r   r   r   r   r  with_options__classcell__r   s   @r7   r   r     sV   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^	
 	 	 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 Lr6   r   c                      e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   dddddddddddddeeddddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fdZddZddZ	e
dd       Ze
d fd       Ze
dddeddddddddddddededddddi d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       ZeZ xZS )AsyncBedrockOpenAIzKAsync compatibility client for Amazon Bedrock's OpenAI-compatible endpoint.r   r   r9   r    AsyncBedrockTokenProvider | Noner   r>   rm   r&   r   r+   r=   NFTr   c                  ||t        ||||||||||
      \  }}}n,|j                  xs |j                  r|j                  ndxs d}t        |   ||	|
||||||||d       || _        || _        t        d|j                        | _
        |j                  | _        t        j                  d| j                  j                         }t#        | j$                  t&              r| j$                  j(                  nd }|j*                  xs |xs ||j-                  d      nd | _        t/        || j*                        | _        |xs d| _        t3        | | j5                               | _        y )	Nr   rJ   Fr   r$  r   r   r   r   r   s                              r7   r   z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-hD""))nr 	  UU-=-I &&q)t 	
 &fI%+*CD$JiJiJk*l'r6   c                    | j                   d| j                   fS | j                  j                  "| j                  j                  s| j                  rd| j                  fS yr   r   r   s    r7   r   z-AsyncBedrockOpenAI._legacy_auth_configuration  r   r6   c                    | j                   j                  d u xr6 | j                   xr' | j                  d u xr | j                   j                   S rO   r   r   s    r7   r   z!AsyncBedrockOpenAI._uses_aws_auth  r   r6   c                  K   | j                   j                  rC| j                   j                  xs d}| j                  r| j                  |k7  r| j                  S |S | j                  \t        t        | j	                               }t        j                  |      r
| d {   }t        |t              r|st        d      |S | j                  S 7 /wr   )r   rF   rG   rz   r   r
   r/   rQ   isawaitablerk   r)   rZ   r   s      r7   r   z#AsyncBedrockOpenAI._refresh_api_key  s     66**CCIrH#'<<DLLH4L4<<ZRZZ''3!=!=!?@E""5)#eS) !kllL||	 $s   BC C!0Cc                T   K   t        |        t        | 	  |       d {   S 7 wrO   r   r   s     r7   r   z#AsyncBedrockOpenAI._prepare_options  s%     (.W-g6666s   (&(r   c               0   t        |      rt        d      t        |t              st        d      ||t        d      ||t	        d      ||t	        d      | j
                  }|i ||}n||}| j                  }|i ||}n||}t        | ||||||	|
||
      \  }}}i |||n| j                  ||n| j                  ||n| j                  ||n| j                  t        |t              r| j                  n||xs | j                  t        |      r|n| j                  |||dn|d
|}|,t!        | j"                  j$                  d	      r||d	<   ||d
<   n|8|j'                  | j(                  j*                  xs | j(                  j,                  | j(                  j.                  | j(                  j0                  | j(                  j2                  | j(                  j4                  | j(                  j6                  | j(                  j8                  | j(                  j:                  | j(                  j<                  rdn| j>                  	       |jA                         D  !ci c](  \  } }!t!        | j"                  j$                  |       r| |!* }} }!nW| j"                  tB        urE|jA                         D  !ci c]*  \  } }!|! t!        | j"                  j$                  |       r| |!, }} }! | j"                  di |S c c}!} w c c}!} w )Nrx   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   rJ   r   r5   )"r   r   rk   r   rZ   r   r   r   r   r   r   r   r   r   r   r   r_   r   r   r   r   r:   rG   r!   r=   r@   rA   rB   rC   rE   rH   r*   r   r#  r  s"                                     r7   r  zAsyncBedrockOpenAI.copy  sN   < 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'Dt||'&6$,,*2;*?;TEUEU&#,@,HDNb.
 .
 ).J4>>KbKbdo.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#;#;#="D%/0G0GN e" "
 ^^#55 $6#;#;#="D%$(DT^^E\E\^b(c e" "
 t~~3 233""r  )0rz   r+   r   r$  r=   r+   r@   r+   rA   r+   rB   r+   rC   r+   rE   rD   r   r+   r   r+   r   r+   r*   r	  r   r	  r   r
  r   r  r   r  r   r  r   httpx.AsyncClient | Noner   r>   r   r>   r   r  r   r  r   r  r  r  r  r  r  r  )4rz   z&str | AsyncBedrockTokenProvider | Noner   r+   r   r  r   r  r   r$  r=   r+   r@   r+   rA   r+   rB   r+   rC   r+   rE   rD   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   @r7   r#  r#  k  sX   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^	
   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 Lr6   r#  )r   r#  BedrockTokenProviderr   r   )rK   r9   r  r)   )r]   zCallable[..., object]r^   r)   r  r>   )r,   r+   r  r+   )r*   r	  r  r>   )r@   r+   rA   r+   rB   r+   rC   r+   rE   rD   r  r>   r  )rz   r+   r!   r<   r=   r+   r@   r+   rA   r+   rB   r+   rC   r+   rE   rD   r*   r	  r?   r  r  z*tuple[_Provider, _LegacyBedrockState, str])r   "BedrockOpenAI | AsyncBedrockOpenAIrz   r+   r!   r<   r=   r+   r@   r+   rA   r+   rB   r+   rC   r+   rE   rD   r*   r	  r  zFtuple[dict[str, object], _Provider | None, _LegacyBedrockState | None])r   r.  r   r  r  r&   )r   r.  r   r  r  r   )r   r.  r  r  )H
__future__r   rc   r   r   rQ   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'   tupler/   r  urandomr   r&   r9   rL   r_   rh   rm   rr   rv   r   r   r   r   r   r   r   r#  __all__r5   r6   r7   <module>r>     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r6   