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
« 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."""
3from typing import TYPE_CHECKING, Final
5from litellm.types.guardrails import SupportedGuardrailIntegrations
7from .ovalix import OvalixGuardrail
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
13def initialize_guardrail(litellm_params: "LitellmParams", guardrail: "Guardrail"):
14 """Create and register an Ovalix guardrail callback from proxy config."""
15 import litellm
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)
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)
35 return _ovalix_callback
38# Registry of guardrail name -> initializer for proxy config loading.
39guardrail_initializer_registry: Final = {
40 SupportedGuardrailIntegrations.OVALIX.value: initialize_guardrail,
41}
43# Registry of guardrail name -> guardrail class (e.g. for apply_guardrail API).
44guardrail_class_registry: Final = {
45 SupportedGuardrailIntegrations.OVALIX.value: OvalixGuardrail,
46}