
    pi                     V    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	  G d de      Z
y)	    )OrgTokenManager)TwilioException)CredentialProvider)AuthType)TokenAuthStrategyc                   0     e Zd Zddedef fdZd Z xZS )OrgsCredentialProvider	client_idclient_secretc                     t         |   t        j                         ||t	        d      d| _        || _        || _        || _        d | _	        y )Nz)Client id and Client secret are mandatoryclient_credentials)
super__init__r   CLIENT_CREDENTIALSr   
grant_typer
   r   token_managerauth_strategy)selfr
   r   r   	__class__s       l/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/twilio/credential/orgs_credential_provider.pyr   zOrgsCredentialProvider.__init__	   sS    445 5!"MNN."**!    c                     | j                   0t        | j                  | j                  | j                        | _         | j
                  t        | j                         | _        | j
                  S N)r   r   r   r
   r   r   r   )r   s    r   to_auth_strategyz'OrgsCredentialProvider.to_auth_strategy   s]    %!01C1C"D %!243E3E!FD!!!r   r   )__name__
__module____qualname__strr   r   __classcell__)r   s   @r   r	   r	      s    
"# 
"c 
""r   r	   N)twilio.http.orgs_token_managerr   twilio.base.exceptionsr   %twilio.credential.credential_providerr   twilio.auth_strategy.auth_typer   (twilio.auth_strategy.token_auth_strategyr   r	    r   r   <module>r&      s!    : 2 D 3 F"/ "r   