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

17 statements  

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

1"""Ovalix guardrail hook: registration and initialization for the proxy.""" 

2 

3from typing import TYPE_CHECKING, Final 

4 

5from litellm.types.guardrails import SupportedGuardrailIntegrations 

6 

7from .ovalix import OvalixGuardrail 

8 

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

10 from litellm.types.guardrails import Guardrail, LitellmParams 

11 

12 

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

14 """Create and register an Ovalix guardrail callback from proxy config.""" 

15 import litellm 

16 

17 tracker_api_base: Final = getattr(litellm_params, "tracker_api_base", None) 

18 tracker_api_key: Final = getattr(litellm_params, "tracker_api_key", None) 

19 application_id: Final = getattr(litellm_params, "application_id", None) 

20 pre_checkpoint_id: Final = getattr(litellm_params, "pre_checkpoint_id", None) 

21 post_checkpoint_id: Final = getattr(litellm_params, "post_checkpoint_id", None) 

22 

23 _ovalix_callback: Final = OvalixGuardrail( 

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

25 tracker_api_base=tracker_api_base, 

26 tracker_api_key=tracker_api_key, 

27 application_id=application_id, 

28 pre_checkpoint_id=pre_checkpoint_id, 

29 post_checkpoint_id=post_checkpoint_id, 

30 event_hook=litellm_params.mode, 

31 default_on=litellm_params.default_on, 

32 ) 

33 litellm.logging_callback_manager.add_litellm_callback(_ovalix_callback) 

34 

35 return _ovalix_callback 

36 

37 

38# Registry of guardrail name -> initializer for proxy config loading. 

39guardrail_initializer_registry: Final = { 

40 SupportedGuardrailIntegrations.OVALIX.value: initialize_guardrail, 

41} 

42 

43# Registry of guardrail name -> guardrail class (e.g. for apply_guardrail API). 

44guardrail_class_registry: Final = { 

45 SupportedGuardrailIntegrations.OVALIX.value: OvalixGuardrail, 

46}