adk_guardrail/
lib.rs

1//! # adk-guardrail
2//!
3//! Guardrails framework for validating agent inputs and outputs.
4//!
5//! ## Overview
6//!
7//! Guardrails run in parallel with agent execution and can:
8//! - Block harmful or off-topic content
9//! - Enforce output schemas
10//! - Redact PII (emails, phones, SSNs)
11//! - Limit costs and token usage
12//!
13//! ## Quick Start
14//!
15//! ```rust,ignore
16//! use adk_guardrail::{GuardrailSet, ContentFilter, PiiRedactor};
17//!
18//! let input_guardrails = GuardrailSet::new()
19//!     .with(ContentFilter::harmful_content())
20//!     .with(PiiRedactor::new());
21//!
22//! let agent = LlmAgentBuilder::new("assistant")
23//!     .input_guardrails(input_guardrails)
24//!     .build()?;
25//! ```
26
27pub mod content;
28pub mod error;
29pub mod executor;
30pub mod pii;
31#[cfg(feature = "schema")]
32pub mod schema;
33pub mod traits;
34
35pub use content::{ContentFilter, ContentFilterConfig};
36pub use error::{GuardrailError, Result};
37pub use executor::{GuardrailExecutor, GuardrailSet};
38pub use pii::{PiiRedactor, PiiType};
39#[cfg(feature = "schema")]
40pub use schema::SchemaValidator;
41pub use traits::{Guardrail, GuardrailResult, Severity};