Source code for ralph.mcp.artifacts._mcp_audit_record

"""McpAuditRecord — audit record emitted by the MCP server dispatch layer."""

from __future__ import annotations

from dataclasses import dataclass, field
from typing import TYPE_CHECKING

from ralph.mcp.artifacts._audit_metadata import AuditMetadata

if TYPE_CHECKING:
    from ralph.mcp.protocol.capability_mapping import AccessDecision, McpCapability


[docs] @dataclass class McpAuditRecord: """Audit record emitted by the MCP server dispatch layer.""" timestamp_nanos: int session_id: str tool_name: str decision: AccessDecision path: str | None = None capability: McpCapability | None = None metadata: AuditMetadata = field(default_factory=AuditMetadata)
__all__ = ["McpAuditRecord"]