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

14 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 .javelin import JavelinGuardrail 

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 if litellm_params.guard_name is None: 

15 raise Exception( 

16 "JavelinGuardrailException - Please pass the Javelin guard name via 'litellm_params::guard_name'" 

17 ) 

18 

19 _javelin_callback: Final = JavelinGuardrail( 

20 api_base=litellm_params.api_base, 

21 api_key=litellm_params.api_key, 

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

23 javelin_guard_name=litellm_params.guard_name, 

24 event_hook=litellm_params.mode, 

25 default_on=litellm_params.default_on or False, 

26 api_version=litellm_params.api_version or "v1", 

27 config=litellm_params.config, 

28 metadata=litellm_params.metadata, 

29 application=litellm_params.application, 

30 ) 

31 litellm.logging_callback_manager.add_litellm_callback(_javelin_callback) 

32 

33 return _javelin_callback 

34 

35 

36guardrail_initializer_registry: Final = { 

37 SupportedGuardrailIntegrations.JAVELIN.value: initialize_guardrail, 

38} 

39 

40 

41guardrail_class_registry: Final = { 

42 SupportedGuardrailIntegrations.JAVELIN.value: JavelinGuardrail, 

43}