
    2hf                    H   S SK J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Jr  S SKJrJr  S SKrSSKJrJrJrJrJr  SSKJr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#  SSK$J%r%  SSK&J'r'J(r(  \)" / SQ5      r*\	/ \+4   r,\	/ S4   r-\" S\\R\                  \R^                  4   S9r0\" S\\"\   \#\   4   S9r1SRe                  / SQ5      r3 " S S\%5      r4 " S S\(\0\14   5      r5 " S S\5\R\                  \"\   4   \5      r6 " S S\5\R^                  \#\   4   \5      r7g)    )annotationsN)AnyUnionMappingTypeVarCallable	Awaitablecastoverload)Selfoverride   )	NOT_GIVENOmitQueryTimeoutNotGiven)is_given
is_mapping)OpenAIAsyncOpenAI)
model_copy)FinalRequestOptions)StreamAsyncStream)OpenAIError)DEFAULT_MAX_RETRIES
BaseClient)z/completionsz/chat/completionsz/embeddingsz/audio/transcriptionsz/audio/translationsz/audio/speechz/images/generationsz/images/editszstr | Awaitable[str]_HttpxClientT)bound_DefaultStreamT )<zmissing API key>c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )MutuallyExclusiveAuthError-   c                $   > [         TU ]  S5        g )NzThe `api_key`, `azure_ad_token` and `azure_ad_token_provider` arguments are mutually exclusive; Only one can be passed at a time)super__init__)self	__class__s    H/var/www/auris/envauris/lib/python3.13/site-packages/openai/lib/azure.pyr*   #MutuallyExclusiveAuthError.__init__.   s     O	
     )returnNone)__name__
__module____qualname____firstlineno__r*   __static_attributes____classcell__r,   s   @r-   r&   r&   -   s    
 
r/   r&   c                  x   ^  \ rS rSr% S\S'   S\S'   \SS.     SU 4S jjj5       r\SU 4S	 jj5       rS
rU =r	$ )BaseAzureClient4   zhttpx.URL | None_azure_endpoint
str | None_azure_deploymentr   retries_takenc               (  > UR                   [        ;   aq  [        UR                  5      (       aW  UR                  R	                  S5      nUb9  S[        U R                  R                  5      ;  a  SU UR                    3Ul         [        TU ]%  XS9$ )Nmodelz/deploymentsz/deployments/r@   )
url_deployments_endpointsr   	json_datagetstrbase_urlpathr)   _build_request)r+   optionsrA   rC   r,   s       r-   rK   BaseAzureClient._build_request8   s}     ;;00Z@Q@Q5R5R%%))'2E ^3t}}?Q?Q;R%R -eWW[[MBw%g%KKr/   c                  > U R                   (       a  U R                  (       a  U[        ;  a  [        R                  " U5      nUR
                  (       a]  U R                  R                  R                  S5      S-   UR                  R                  S5      -   nU R                  R                  US9$ U$ [        TU ]-  U5      $ )zAdjust the URL if the client was configured with an Azure endpoint + deployment
and the API feature being called is **not** a deployments-based endpoint
(i.e. requires /deployments/deployment-name in the URL path).
   /s   /openai/raw_path)r?   r=   rE   httpxURLis_relative_urlrQ   rstriplstrip	copy_withr)   _prepare_url)r+   rD   	merge_urlmerge_raw_pathr,   s       r-   rX   BaseAzureClient._prepare_urlF   s     !!d&:&:sJ`?`		#I((((1188>LyOaOaOhOhimOnn  ++55~5NNw#C((r/   r0   )rL   r   rA   intr1   zhttpx.Request)rD   rH   r1   z	httpx.URL)
r3   r4   r5   r6   __annotations__r   rK   rX   r7   r8   r9   s   @r-   r;   r;   4   s[    %%!!
 	L$L 	L
 
L L ) )r/   r;   c                    ^  \ rS rSr\SSSSSSSS\\SSSSS.                               SS jj5       r\SSSSSSSS\\SSSSS.                             SS jj5       r\SSSSSSS\\SSSSS.                             SS jj5       r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SSSSSSS\S\SSSS0 S.                                   SU 4S jjj5       r	\	r
SS jr\SS j5       rSS jrSrU =r$ )AzureOpenAIY   NF)azure_deploymentapi_versionapi_keyazure_ad_tokenazure_ad_token_providerorganizationwebhook_secretwebsocket_base_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validationc                   g Nr0   )r+   azure_endpointra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   s                   r-   r*   AzureOpenAI.__init__Z       & r/   c                   g rp   r0   )r+   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   s                  r-   r*   rr   o       $ r/   )rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   c                   g rp   r0   )r+   rI   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   s                  r-   r*   rr      ru   r/   )rb   rq   ra   rc   rd   re   rf   projectrg   rh   rI   ri   rj   rk   rl   rm   rn   c                 > Uc  [         R                  R                  S5      nUc  [         R                  R                  S5      nUc  Uc  Uc  [        S5      eUc  [         R                  R                  S5      nUc  [	        S5      eUc  SU0nO0 UESU0EnUc_  Uc  [         R                  R                  S5      nUc  [	        S	5      eUb  UR                  S
5       SU 3nO#UR                  S
5       S3nOUb  [	        S5      eUc  [        n[        TU ]!  UUUU	UUUUUUU
US9  Xl	        XPl
        X`l        U(       a  UOSU l        U(       a  [        R                  " U5      U l        gSU l        g)a  Construct a new synchronous azure openai client instance.

This automatically infers the following arguments from their corresponding environment variables if they are not provided:
- `api_key` from `AZURE_OPENAI_API_KEY`
- `organization` from `OPENAI_ORG_ID`
- `project` from `OPENAI_PROJECT_ID`
- `azure_ad_token` from `AZURE_OPENAI_AD_TOKEN`
- `api_version` from `OPENAI_API_VERSION`
- `azure_endpoint` from `AZURE_OPENAI_ENDPOINT`

Args:
    azure_endpoint: Your Azure endpoint, including the resource, e.g. `https://example-resource.azure.openai.com/`

    azure_ad_token: Your Azure Active Directory token, https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id

    azure_ad_token_provider: A function that returns an Azure Active Directory token, will be invoked on every request.

    azure_deployment: A model deployment, if given with `azure_endpoint`, sets the base client URL to include `/deployments/{azure_deployment}`.
        Not supported with Assistants APIs.
NAZURE_OPENAI_API_KEYAZURE_OPENAI_AD_TOKENMissing credentials. Please pass one of `api_key`, `azure_ad_token`, `azure_ad_token_provider`, or the `AZURE_OPENAI_API_KEY` or `AZURE_OPENAI_AD_TOKEN` environment variables.OPENAI_API_VERSION_Must provide either the `api_version` argument or the `OPENAI_API_VERSION` environment variableapi-versionAZURE_OPENAI_ENDPOINTuMust provide one of the `base_url` or `azure_endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable//openai/deployments//openai2base_url and azure_endpoint are mutually exclusiverc   rf   rw   rg   rI   ri   rj   rk   rl   rm   rh   rn   osenvironrG   r   
ValueErrorrU   API_KEY_SENTINELr)   r*   _api_version_azure_ad_token_azure_ad_token_providerr?   rR   rS   r=   )r+   rb   rq   ra   rc   rd   re   rf   rw   rg   rh   rI   ri   rj   rk   rl   rm   rn   r,   s                     r-   r*   rr         R ?jjnn%;<G!ZZ^^,CDN?~5:Q:Y B  **..)=>Kq   *K8MI}Im[IM%!#0G!H%  L   +,33C899MN^M_`,33C89A) !UVV?&G%)#+'#1(C 	 	
 (-(?%5C!1<Juyy8PTr/   rc   rf   rw   rg   rh   rb   rd   re   rI   ri   rm   rj   rk   set_default_headersrl   set_default_query_extra_kwargsc                  > [         TU ]  UUUUUU	U
UUUUUUU=(       d    U R                  U=(       d    U R                  U=(       d    U R                  S.UES9$ zn
Create a new client instance re-using the same options given to the current client with optional overriding.
)rb   rd   re   )rc   rf   rw   rg   rh   rI   ri   rm   rj   rk   r   rl   r   r   r)   copyr   r   r   r+   rc   rf   rw   rg   rh   rb   rd   re   rI   ri   rm   rj   rk   r   rl   r   r   r,   s                     r-   r   AzureOpenAI.copy  {    2 w|%)1##+ 3'/*?d.?.?"0"HD4H4H+B+cdFcFc  	  
 	
r/   c                    U R                   b  U R                   $ U R                  nUb3  U" 5       nU(       a  [        U[        5      (       d  [	        SU 35      eU$ g NzOExpected `azure_ad_token_provider` argument to return a string but it returned )r   r   
isinstancerH   r   r+   providertokens      r-   _get_azure_ad_tokenAzureOpenAI._get_azure_ad_token2  sd    +'''00JE
5# 6 6 efkelm  Lr/   c                X   [        UR                  5      (       a  0 UR                  EO0 n[        U5      nX!l        U R                  5       nUb  UR	                  S5      c  SU 3US'   U$ U R
                  [        La#  UR	                  S5      c  U R
                  US'   U$ [        S5      eNAuthorizationBearer api-keyzUnable to handle authr   headersr   r   rG   rc   r   r   r+   rL   r   rd   s       r-   _prepare_optionsAzureOpenAI._prepare_optionsA  s    @H@Y@Y)<GOO)<_aW%!113%{{?+3-4^4D+E(  \\!11{{9%-%)\\	"
  455r/   c                   0 n0 UEU R                   U R                  =(       d    US.EnU R                  S:w  a  SU R                  0nOU R                  5       nU(       a  SSU 30nU R                  bN  [
        R                  " U R                  5      nUR                  R                  S5      S-   nUR                  US9nO U R                  S	5      nUR                  S
S9nUR                  0 UES9n	X4$ N)r~   
deploymentz<missing API key>r   r   r   rO   s	   /realtimerP   z	/realtimewss)scheme)paramsr   r?   rc   r   rh   rR   rS   rQ   rU   rW   rX   
r+   rC   extra_queryauth_headersqueryr   rI   rZ   realtime_urlrD   s
             r-   _configure_realtimeAzureOpenAI._configure_realtimeU  s   

,,009E

 <<..%t||4L,,.E /75'1BC"".yy!8!89H%..55d;lJN#--~-FL((5H#--U-;L$$IuI$6  r/   r   r   r   r?   r=   ) rq   rH   ra   r>   rb   r>   rc   r>   rd   r>   re   AzureADTokenProvider | Nonerf   r>   rg   r>   rh   str | httpx.URL | Noneri   !float | Timeout | None | NotGivenrj   r\   rk   Mapping[str, str] | Nonerl   Mapping[str, object] | Nonerm   httpx.Client | Nonern   boolr1   r2   )ra   r>   rb   r>   rc   r>   rd   r>   re   r   rf   r>   rg   r>   rh   r   ri   r   rj   r\   rk   r   rl   r   rm   r   rn   r   r1   r2   )rI   rH   rb   r>   rc   r>   rd   r>   re   r   rf   r>   rg   r>   rh   r   ri   r   rj   r\   rk   r   rl   r   rm   r   rn   r   r1   r2   )$rb   r>   rq   r>   ra   r>   rc   r>   rd   r>   re   r   rf   r>   rw   r>   rg   r>   rh   r   rI   r>   ri   r   rj   r\   rk   r   rl   r   rm   r   rn   r   r1   r2   )$rc   r>   rf   r>   rw   r>   rg   r>   rh   r   rb   r>   rd   r>   re   r   rI   r   ri   r   rm   r   rj   int | NotGivenrk   r   r   r   rl   r   r   r   r   Mapping[str, Any]r1   r   r1   r>   rL   r   r1   r   rC   rH   r   r   r1   z tuple[httpx.URL, dict[str, str]]r3   r4   r5   r6   r   r   r   r*   r   r   with_optionsr   r   r   r7   r8   r9   s   @r-   r_   r_   Y   s   
 (,"&"%)?C#'%)595>.4859+/,1#  %	
    # "= ! # 3 3  2 3  )!" &*#$ 
% (  (,"&"%)?C#'%)595>.4859+/,1! %  	
  # "= ! # 3 3  2 3 )  &*!" 
# & 
 #'"%)?C#'%)595>.4859+/,1!   	
  # "= ! # 3 3  2 3 )  &*!" 
# , #'%)'+"%)?C#'"%)59#5>.4859+/,1'hU  hU #	hU
 %hU hU #hU "=hU !hU hU #hU 3hU hU 3hU hU  2!hU" 3#hU$ )%hU& &*'hU( 
)hU hUT  ##'"%)59"&%)?C+/5>+/&/488<599=+-',
 ,
 !	,

 ,
 #,
 3,
  ,
 #,
 "=,
 ),
 3,
 ),
 $,
 2,
  6!,
" 3#,
$ 7%,
& )',
( 
),
 ,
\ L  &! !r/   r_   c                    ^  \ rS rSr\SSSSSSSSS\\SSSSS.                                 SS jj5       r\SSSSSSSSS\\SSSSS.                               SS jj5       r\SSSSSSSS\\SSSSS.                               SS jj5       r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SSSSSSS\S\SSSS0 S.                                   SU 4S jjj5       r	\	r
SS jr\SS j5       rSS jrSrU =r$ )AsyncAzureOpenAIio  NF)ra   rb   rc   rd   re   rf   rw   rg   rh   ri   rj   rk   rl   rm   rn   c                   g rp   r0   )r+   rq   ra   rb   rc   rd   re   rf   rw   rg   rh   ri   rj   rk   rl   rm   rn   s                    r-   r*   AsyncAzureOpenAI.__init__p  s    ( r/   c                   g rp   r0   )r+   ra   rb   rc   rd   re   rf   rw   rg   rh   ri   rj   rk   rl   rm   rn   s                   r-   r*   r     rs   r/   )rb   rc   rd   re   rf   rw   rg   rh   ri   rj   rk   rl   rm   rn   c                   g rp   r0   )r+   rI   rb   rc   rd   re   rf   rw   rg   rh   ri   rj   rk   rl   rm   rn   s                   r-   r*   r     rs   r/   )rq   ra   rb   rc   rd   re   rf   rw   rg   rI   rh   ri   rj   rk   rl   rm   rn   c                 > Uc  [         R                  R                  S5      nUc  [         R                  R                  S5      nUc  Uc  Uc  [        S5      eUc  [         R                  R                  S5      nUc  [	        S5      eUc  SU0nO0 UESU0EnU
c_  Uc  [         R                  R                  S5      nUc  [	        S	5      eUb  UR                  S
5       SU 3n
O#UR                  S
5       S3n
OUb  [	        S5      eUc  [        n[        TU ]!  UUUU	U
UUUUUUUS9  X0l	        XPl
        X`l        U(       a  UOSU l        U(       a  [        R                  " U5      U l        gSU l        g)a  Construct a new asynchronous azure openai client instance.

This automatically infers the following arguments from their corresponding environment variables if they are not provided:
- `api_key` from `AZURE_OPENAI_API_KEY`
- `organization` from `OPENAI_ORG_ID`
- `project` from `OPENAI_PROJECT_ID`
- `azure_ad_token` from `AZURE_OPENAI_AD_TOKEN`
- `api_version` from `OPENAI_API_VERSION`
- `azure_endpoint` from `AZURE_OPENAI_ENDPOINT`

Args:
    azure_endpoint: Your Azure endpoint, including the resource, e.g. `https://example-resource.azure.openai.com/`

    azure_ad_token: Your Azure Active Directory token, https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id

    azure_ad_token_provider: A function that returns an Azure Active Directory token, will be invoked on every request.

    azure_deployment: A model deployment, if given with `azure_endpoint`, sets the base client URL to include `/deployments/{azure_deployment}`.
        Not supported with Assistants APIs.
Nry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   )r+   rq   ra   rb   rc   rd   re   rf   rw   rg   rI   rh   ri   rj   rk   rl   rm   rn   r,   s                     r-   r*   r     r   r/   r   c                  > [         TU ]  UUUUUU	U
UUUUUUU=(       d    U R                  U=(       d    U R                  U=(       d    U R                  S.UES9$ r   r   r   s                     r-   r   AsyncAzureOpenAI.copy  r   r/   c                >  #    U R                   b  U R                   $ U R                  nUbo  U" 5       n[        R                  " U5      (       a
  UI S h  vN nU(       a#  [	        [        [        U5      [        5      (       d  [        SU 35      e[        U5      $ g  NH7fr   )	r   r   inspectisawaitabler   r
   r   rH   r   r   s      r-   r   $AsyncAzureOpenAI._get_azure_ad_tokenK  s     +'''00JE""5))#
4U+;S A A efkelm  u: $s   ABBA	Bc                t  #    [        UR                  5      (       a  0 UR                  EO0 n[        U5      nX!l        U R                  5       I S h  vN nUb  UR	                  S5      c  SU 3US'   U$ U R
                  [        La#  UR	                  S5      c  U R
                  US'   U$ [        S5      e Nd7fr   r   r   s       r-   r   !AsyncAzureOpenAI._prepare_options\  s     @H@Y@Y)<GOO)<_aW%!#7799%{{?+3-4^4D+E(  \\!11{{9%-%)\\	"
  455 :s   AB8B6A%B8c                  #    0 n0 UEU R                   U R                  =(       d    US.EnU R                  S:w  a  SU R                  0nO&U R                  5       I S h  vN nU(       a  SSU 30nU R                  bN  [
        R                  " U R                  5      nUR                  R                  S5      S-   nUR                  US9nO U R                  S	5      nUR                  S
S9nUR                  0 UES9n	X4$  N7fr   r   r   s
             r-   r   $AsyncAzureOpenAI._configure_realtimep  s    

,,009E

 <<..%t||4L2244E /75'1BC"".yy!8!89H%..55d;lJN#--~-FL((5H#--U-;L$$IuI$6   5s   ADC?B"Dr   )"rq   rH   ra   r>   rb   r>   rc   r>   rd   r>   re    AsyncAzureADTokenProvider | Nonerf   r>   rw   r>   rg   r>   rh   r   ri   r   rj   r\   rk   r   rl   r   rm   httpx.AsyncClient | Nonern   r   r1   r2   ) ra   r>   rb   r>   rc   r>   rd   r>   re   r   rf   r>   rw   r>   rg   r>   rh   r   ri   r   rj   r\   rk   r   rl   r   rm   r   rn   r   r1   r2   ) rI   rH   rb   r>   rc   r>   rd   r>   re   r   rf   r>   rw   r>   rg   r>   rh   r   ri   r   rj   r\   rk   r   rl   r   rm   r   rn   r   r1   r2   )$rq   r>   ra   r>   rb   r>   rc   r>   rd   r>   re   r   rf   r>   rw   r>   rg   r>   rI   r>   rh   r   ri   r   rj   r\   rk   r   rl   r   rm   r   rn   r   r1   r2   )$rc   r>   rf   r>   rw   r>   rg   r>   rh   r   rb   r>   rd   r>   re   r   rI   r   ri   r   rm   r   rj   r   rk   r   r   r   rl   r   r   r   r   r   r1   r   r   r   r   r   r9   s   @r-   r   r   o  s   
 (,"&"%)DH#'"%)595>.485904,1%  %	
    # "B !  # 3 3  2  3!" .#$ &*%& 
' *  (,"&"%)DH#'"%)595>.485904,1# %  	
  # "B !  # 3 3  2 3  .!" &*#$ 
% ( 
 #'"%)DH#'"%)595>.485904,1#   	
  # "B !  # 3 3  2 3  .!" &*#$ 
% . &*'+"&"%)DH#'"%)#595>.485904,1'hU #hU %	hU
  hU hU #hU "BhU !hU hU #hU hU 3hU 3hU hU  2!hU" 3#hU$ .%hU& &*'hU( 
)hU hUT  ##'"%)59"&%)DH+/5>04&/488<599=+-',
 ,
 !	,

 ,
 #,
 3,
  ,
 #,
 "B,
 ),
 3,
 .,
 $,
 2,
  6!,
" 3#,
$ 7%,
& )',
( 
),
 ,
\ L"  &! !r/   r   )8
__future__r   r   r   typingr   r   r   r   r   r	   r
   r   typing_extensionsr   r   rR   _typesr   r   r   r   r   _utilsr   r   _clientr   r   _compatr   _modelsr   
_streamingr   r   _exceptionsr   _base_clientr   r   setrE   rH   AzureADTokenProviderAsyncAzureADTokenProviderClientAsyncClientr   r!   joinr   r&   r;   r_   r   r0   r/   r-   <module>r      s(   " 	  T T T ,  > > ) )   ) , % :	   C( $R)?%?@ uU\\5CTCT5T/UV+5kRUFV9V3WX 7789 
 
")j!?@ ")JS!/%,,s";<f S!lX!u'8'8+c:J'JK[ X!r/   