Coverage for .venv/lib/python3.13/site-packages/litellm/proxy/guardrails/guardrail_hooks/deepkeep/__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 .deepkeep import DeepKeepGuardrail 

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 _deepkeep_guardrail_callback: Final = DeepKeepGuardrail( 

15 api_base=litellm_params.api_base, 

16 api_key=litellm_params.api_key, 

17 firewall_id=getattr(litellm_params, "deepkeep_firewall_id", None), 

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

19 extra_headers=getattr(litellm_params, "extra_headers", None), 

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

21 event_hook=litellm_params.mode, 

22 default_on=litellm_params.default_on, 

23 ) 

24 

25 litellm.logging_callback_manager.add_litellm_callback(_deepkeep_guardrail_callback) 

26 return _deepkeep_guardrail_callback 

27 

28 

29guardrail_initializer_registry: Final = { 

30 SupportedGuardrailIntegrations.DEEPKEEP.value: initialize_guardrail, 

31} 

32 

33 

34guardrail_class_registry: Final = { 

35 SupportedGuardrailIntegrations.DEEPKEEP.value: DeepKeepGuardrail, 

36}