
    ht                     r    d dl Z d dlmZ d dl dedefdZdedefdZdedefdZdedefd	Z	dedefd
Z
y)    N)CommonProxyErrors)*litellm_params	guardrailc           	      <   ddl m}  |di d|j                  dd      d| j                  d| j                  d| j
                  d| j                  d	| j                  d
| j                  d| j                  d| j                  d| j                  d| j                  d| j                  d| j                  d| j                  d| j                   d| j"                  d| j$                  d| j&                  }t(        j*                  j-                  |       |S )Nr   )BedrockGuardrailguardrail_name 
event_hookguardrailIdentifierguardrailVersion
default_ondisable_exception_on_blockmask_request_contentmask_response_contentaws_region_nameaws_access_key_idaws_secret_access_keyaws_session_tokenaws_session_nameaws_profile_nameaws_role_nameaws_web_identity_tokenaws_sts_endpointaws_bedrock_runtime_endpoint );litellm.proxy.guardrails.guardrail_hooks.bedrock_guardrailsr   getmoder   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   litellmlogging_callback_manageradd_litellm_callback)r   r   r   _bedrock_callbacks       k/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.pyinitialize_bedrockr%      sS    )  }}%5r:!&& +>> (88	
 ",, $2#L#L ,@@ -BB '66 ):: -BB ):: (88 (88 %22   .DD!" (88#$ &4%P%P%( $$99:KL    c                     ddl m}  || j                  | j                  |j	                  dd      | j
                  | j                  | j                        }t        j                  j                  |       |S )Nr   )lakeraAI_Moderationr	   r
   )api_baseapi_keyr	   r   category_thresholdsr   )2litellm.proxy.guardrails.guardrail_hooks.lakera_air(   r)   r*   r   r   r+   r   r    r!   r"   )r   r   r(   _lakera_callbacks       r$   initialize_lakerar.   $   si    V*((&& }}%5r:!&&*>>!,, $$99:JKr&   c                 H   ddl m}  || j                  | j                  |j	                  dd      | j
                  | j                  | j                  | j                  | j                  | j                  | j                  
      }t        j                  j                  |       |S )Nr   )LakeraAIGuardrailr	   r
   )
r)   r*   r	   r   r   
project_idpayload	breakdownmetadatadev_info)5litellm.proxy.guardrails.guardrail_hooks.lakera_ai_v2r0   r)   r*   r   r   r   r1   r2   r3   r4   r5   r    r!   r"   )r   r   r0   _lakera_v2_callbacks       r$   initialize_lakera_v2r8   3   s    W+((&& }}%5r:!&&!,,!,,&& **(((( $$99:MNr&   c                 r   ddl m}  ||j                  dd      | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  
      }t        j                  j                  |       | j                  r |d|j                  dd      t        j                   j"                  | j
                  | j                  | j                  | j                  | j                        }t        j                  j                  |       |S )Nr   )_OPTIONAL_PresidioPIIMaskingr	   r
   )
r	   r   output_parse_piipresidio_ad_hoc_recognizersmock_redacted_textr   pii_entities_configpresidio_analyzer_api_basepresidio_anonymizer_api_basepresidio_languageT)r;   r	   r   r<   r   r?   r@   rA   )1litellm.proxy.guardrails.guardrail_hooks.presidior:   r   r   r;   r<   r=   r   r>   r?   r@   rA   r    r!   r"   GuardrailEventHooks	post_callvalue)r   r   r:   _presidio_callback_success_callbacks        r$   initialize_presidiorH   F   s
    6 }}%5r:!&&'88$2$N$N)<<!,,*>>#1#L#L%3%P%P(:: $$99:LM&&8!$==)92>*44::(6(R(R%00'5'P'P)7)T)T,>>	
 	((==>OPr&   c                 ,   	 ddl m}  || j                  | j                  |j                  dd      | j                        }t        j                  j                  |       |S # t        $ r' t        dt        j
                  j                  z         w xY w)Nr   )_ENTERPRISE_SecretDetectionzTrying to use Secret Detectionr	   r
   )detect_secrets_configr   r	   r   )8litellm_enterprise.enterprise_callbacks.secret_detectionrJ   ImportError	Exceptionr   missing_enterprise_packagerE   rK   r   r   r   r    r!   r"   )r   r   rJ   _secret_detection_objects       r$   initialize_hide_secretsrQ   i   s    
	
  ;,BB!&& }}%5r:!,,	  $$99:RS##  
,::@@A
 	

s   A# #0B)r    litellm.proxy._typesr   litellm.types.guardrailsLitellmParams	Guardrailr%   r.   r8   rH   rQ   r   r&   r$   <module>rV      sn     2 &}  :m 	  9 &   )  F$M $i $r&   