pub struct GuardrailsConfig {
pub injection: Option<InjectionConfig>,
pub pii: Option<PiiConfig>,
pub tool_policy: Option<ToolPolicyConfig>,
pub llm_judge: Option<LlmJudgeConfig>,
pub secret_scan: Option<SecretScanConfig>,
pub behavioral: Option<BehavioralConfig>,
pub action_budget: Option<ActionBudgetConfig>,
}Expand description
Top-level guardrails configuration.
Enables declarative guardrail setup via TOML. Each sub-section creates the corresponding guardrail and adds it to the agent’s guardrail chain.
Use GuardrailsConfig::build to convert this config into runtime
guardrail instances.
Fields§
§injection: Option<InjectionConfig>Prompt injection classifier configuration.
pii: Option<PiiConfig>PII detection and redaction configuration.
tool_policy: Option<ToolPolicyConfig>Declarative tool access control rules.
llm_judge: Option<LlmJudgeConfig>LLM-as-judge safety evaluation.
secret_scan: Option<SecretScanConfig>Secret scanning configuration.
behavioral: Option<BehavioralConfig>Behavioral monitoring configuration.
action_budget: Option<ActionBudgetConfig>Action budget guardrail configuration.
Implementations§
Source§impl GuardrailsConfig
impl GuardrailsConfig
Sourcepub fn build(&self) -> Result<Vec<Arc<dyn Guardrail>>, Error>
pub fn build(&self) -> Result<Vec<Arc<dyn Guardrail>>, Error>
Build runtime guardrail instances from this configuration.
Returns a Vec<Arc<dyn Guardrail>> ready to be passed to
AgentRunnerBuilder::guardrails() or OrchestratorBuilder::guardrails().
Order: injection → PII → tool policy → LLM judge. Each section that
is Some creates the corresponding guardrail instance.
Note: If [guardrails.llm_judge] is configured, you must use
build_with_judge instead, passing the
judge provider. This method ignores the llm_judge section.
Sourcepub fn build_with_judge(
&self,
judge_provider: Option<Arc<BoxedProvider>>,
) -> Result<Vec<Arc<dyn Guardrail>>, Error>
pub fn build_with_judge( &self, judge_provider: Option<Arc<BoxedProvider>>, ) -> Result<Vec<Arc<dyn Guardrail>>, Error>
Build runtime guardrail instances, optionally including the LLM judge.
Pass Some(provider) to enable the LLM-as-judge guardrail when
[guardrails.llm_judge] is configured. The provider should be a
cheap model (e.g., Haiku, Gemini Flash) separate from the main agent.
Trait Implementations§
Source§impl Clone for GuardrailsConfig
impl Clone for GuardrailsConfig
Source§fn clone(&self) -> GuardrailsConfig
fn clone(&self) -> GuardrailsConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more