Source code for microsoft.opentelemetry.a365.core.guardrail_details

# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""Data class for guardrail evaluation details."""

from __future__ import annotations

from dataclasses import dataclass


[docs] @dataclass class GuardrailDetails: """Immutable input contract describing a guardrail evaluation. Attributes: target_type: What content is being guarded (e.g., "llm_input", "tool_call"). decision_type: The guardian's decision (e.g., "allow", "deny"). guardian_name: Human-readable guardian name. guardian_id: Unique guardian identifier. guardian_provider_name: Provider name (e.g., "azure.ai.content_safety"). guardian_version: Guardian version string. target_id: ID of the targeted content. decision_reason: Human-readable decision reason. decision_code: Machine-readable decision code. policy_id: Triggered policy ID. policy_name: Triggered policy name. policy_version: Policy version. content_input_hash: Hash of input content for forensic correlation. content_modified: Whether the content was altered by the guardrail. external_event_id: External event ID for SIEM correlation. """ target_type: str decision_type: str guardian_name: str | None = None guardian_id: str | None = None guardian_provider_name: str | None = None guardian_version: str | None = None target_id: str | None = None decision_reason: str | None = None decision_code: str | None = None policy_id: str | None = None policy_name: str | None = None policy_version: str | None = None content_input_hash: str | None = None content_modified: bool | None = None external_event_id: str | None = None