Coverage for .venv/lib/python3.13/site-packages/litellm/proxy/guardrails/guardrail_hooks/akto/__init__.py: 57%

12 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 12:01 +0000

1from typing import TYPE_CHECKING, Final 

2 

3from litellm.types.guardrails import SupportedGuardrailIntegrations 

4 

5from .akto import AktoGuardrail 

6 

7if TYPE_CHECKING: 7 ↛ 8line 7 didn't jump to line 8 because the condition on line 7 was never true

8 from litellm.types.guardrails import Guardrail, LitellmParams 

9 

10 

11def initialize_guardrail(litellm_params: "LitellmParams", guardrail: "Guardrail"): 

12 import litellm 

13 

14 _akto_callback: Final = AktoGuardrail( 

15 akto_base_url=getattr(litellm_params, "akto_base_url", None), 

16 akto_api_key=getattr(litellm_params, "akto_api_key", None), 

17 akto_account_id=getattr(litellm_params, "akto_account_id", None), 

18 akto_vxlan_id=getattr(litellm_params, "akto_vxlan_id", None), 

19 unreachable_fallback=getattr(litellm_params, "unreachable_fallback", "fail_closed"), 

20 guardrail_timeout=getattr(litellm_params, "guardrail_timeout", None), 

21 guardrail_name=guardrail.get("guardrail_name", ""), 

22 event_hook=litellm_params.mode, 

23 default_on=litellm_params.default_on, 

24 ) 

25 

26 litellm.logging_callback_manager.add_litellm_callback(_akto_callback) 

27 return _akto_callback 

28 

29 

30guardrail_initializer_registry: Final = { 

31 SupportedGuardrailIntegrations.AKTO.value: initialize_guardrail, 

32} 

33 

34guardrail_class_registry: Final = { 

35 SupportedGuardrailIntegrations.AKTO.value: AktoGuardrail, 

36}