feat(guardrails): añade Protocol GuardrailEngine

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Juan
2026-05-10 10:46:35 +02:00
co-authored by Claude Opus 4.7
parent fee046064a
commit b7c470405b
2 changed files with 30 additions and 0 deletions
+1
View File
@@ -11,4 +11,5 @@ presidio-analyzer>=2.2,<3.0
presidio-anonymizer>=2.2,<3.0 presidio-anonymizer>=2.2,<3.0
openai>=1.50,<2.0 openai>=1.50,<2.0
PyYAML>=6.0,<7.0 PyYAML>=6.0,<7.0
jsonschema>=4.0,<5.0
nemoguardrails>=0.10,<0.12 nemoguardrails>=0.10,<0.12
@@ -0,0 +1,29 @@
"""Interfaz Protocol del motor de guardrails."""
from __future__ import annotations
from typing import Any, Protocol
from uuid import UUID
from agentforge_core.domain.guardrail import GuardrailViolation
from agentforge_core.domain.policy import PolicyDefinition
class GuardrailEngine(Protocol):
"""Motor de validación. Las violaciones se devuelven; el grafo decide bloquear."""
name: str
async def validate_input(
self,
payload: str,
policy: PolicyDefinition,
trace_id: UUID,
) -> list[GuardrailViolation]: ...
async def validate_output(
self,
payload: dict[str, Any],
policy: PolicyDefinition,
trace_id: UUID,
) -> list[GuardrailViolation]: ...