Ë
    tPêj’	  ã                   óf  — U d 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
 ddlmZ ddlmZ ddlmZmZ  e«       Zeed	<   ej)                  d
dg ee
«      ge¬«      e ee
«      fdedededefd„«       «       Zej)                  ddg ee
«      ge¬«      e ee
«      fdedededefd„«       «       Zy)zÁ
COMPLIANCE CHECK ENDPOINTS

Endpoints for checking regulatory compliance of LLM request logs.

/compliance/eu-ai-act - Check EU AI Act compliance
/compliance/gdpr      - Check GDPR compliance
é    )ÚFinal)Ú	APIRouterÚDependsÚRequest)ÚUserAPIKeyAuth)Úuser_api_key_auth)ÚComplianceChecker)Úmanagement_endpoint_wrapper)ÚComplianceCheckRequestÚComplianceResponseÚrouterz/compliance/eu-ai-actÚ
compliance)ÚtagsÚdependenciesÚresponse_modelÚdataÚhttp_requestÚuser_api_key_dictÚreturnc              ƒ   ó|   K  — t        | «      }|j                  «       }t        t        d„ |D «       «      d|¬«      S ­w)a  
    Check EU AI Act compliance for a spend log entry.

    Checks:
    - Art. 9: Guardrails applied (any guardrail)
    - Art. 5: Content screened before LLM (pre-call guardrails)
    - Art. 12: Audit record complete (user_id, model, timestamp, guardrail_results)
    c              3   ó4   K  — | ]  }|j                   –— Œ y ­w©N©Úpassed©Ú.0Úcs     ú|/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/proxy/management_endpoints/compliance_endpoints.pyú	<genexpr>z-check_eu_ai_act_compliance.<locals>.<genexpr>1   ó   è ø€ Ò/ 1�a—h•hÑ/ùó   ‚z	EU AI Act©Ú	compliantÚ
regulationÚchecks)r	   Úcheck_eu_ai_actr   Úall©r   r   r   Úcheckerr%   s        r   Úcheck_eu_ai_act_compliancer*      sA   è ø€ ô( ' tÓ,€GØ×+Ñ+Ó-€FÜÜÑ/¨Ô/Ó/ØØôð ùó   ‚:<z/compliance/gdprc              ƒ   ó|   K  — t        | «      }|j                  «       }t        t        d„ |D «       «      d|¬«      S ­w)a  
    Check GDPR compliance for a spend log entry.

    Checks:
    - Art. 32: Data protection applied (pre-call guardrails)
    - Art. 5(1)(c): Sensitive data protected (masked/blocked or no issues)
    - Art. 30: Audit record complete (user_id, model, timestamp, guardrail_results)
    c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr   r   r   s     r   r   z(check_gdpr_compliance.<locals>.<genexpr>N   r    r!   ÚGDPRr"   )r	   Ú
check_gdprr   r'   r(   s        r   Úcheck_gdpr_compliancer0   7   sA   è ø€ ô( ' tÓ,€GØ×&Ñ&Ó(€FÜÜÑ/¨Ô/Ó/ØØôð ùr+   N)Ú__doc__Útypingr   Úfastapir   r   r   Úlitellm.proxy._typesr   Ú$litellm.proxy.auth.user_api_key_authr   Úlitellm.proxy.compliance_checksr	   Ú&litellm.proxy.management_helpers.utilsr
   Ú(litellm.types.proxy.compliance_endpointsr   r   r   Ú__annotations__Úpostr*   r0   © ó    r   ú<module>r=      s  ðòõ ç /Ñ /å /Ý BÝ =Ý N÷ñ
 “€ˆÓ ð ‡�ØØ
ˆÙÐ+Ó,Ð-Ø%ð	 ó ð ñ )0Ð0AÓ(BñØ
 ðàðð &ðð ò	ó óðð, ‡�ØØ
ˆÙÐ+Ó,Ð-Ø%ð	 ó ð ñ )0Ð0AÓ(BñØ
 ðàðð &ðð ò	ó óñr<   