Coverage for .venv/lib/python3.13/site-packages/litellm/proxy/guardrails/guardrail_hooks/crowdstrike_aidr/__init__.py: 40%
16 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
1from typing import TYPE_CHECKING, Final
3from litellm.types.guardrails import SupportedGuardrailIntegrations
5from .crowdstrike_aidr import CrowdStrikeAIDRHandler, streaming_params_from_litellm_params
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
11def initialize_guardrail(litellm_params: "LitellmParams", guardrail: "Guardrail"):
12 import litellm
14 guardrail_name: Final = guardrail.get("guardrail_name")
15 if not guardrail_name:
16 raise ValueError("CrowdStrike AIDR guardrail name is required")
18 streaming_params: Final = streaming_params_from_litellm_params(litellm_params)
19 _crowdstrike_aidr_callback: Final = CrowdStrikeAIDRHandler(
20 guardrail_name=guardrail_name,
21 api_base=litellm_params.api_base,
22 api_key=litellm_params.api_key,
23 event_hook=litellm_params.mode,
24 default_on=litellm_params.default_on,
25 fail_on_error=litellm_params.fail_on_error,
26 streaming_buffer_until_moderated=streaming_params.streaming_buffer_until_moderated,
27 streaming_buffer_release_on_scan=streaming_params.streaming_buffer_release_on_scan,
28 streaming_end_of_stream_only=streaming_params.streaming_end_of_stream_only,
29 streaming_sampling_rate=streaming_params.streaming_sampling_rate,
30 )
31 litellm.logging_callback_manager.add_litellm_callback(_crowdstrike_aidr_callback)
33 return _crowdstrike_aidr_callback
36guardrail_initializer_registry: Final = {
37 SupportedGuardrailIntegrations.CROWDSTRIKE_AIDR.value: initialize_guardrail,
38}
41guardrail_class_registry: Final = {
42 SupportedGuardrailIntegrations.CROWDSTRIKE_AIDR.value: CrowdStrikeAIDRHandler,
43}