swink_agent_policies/
lib.rs1#![forbid(unsafe_code)]
2#[cfg(any(feature = "prompt-guard", feature = "pii", feature = "content-filter"))]
24mod patterns;
25
26#[cfg(feature = "budget")]
29mod budget;
30#[cfg(feature = "budget")]
31pub use budget::BudgetPolicy;
32
33#[cfg(feature = "max-turns")]
34mod max_turns;
35#[cfg(feature = "max-turns")]
36pub use max_turns::MaxTurnsPolicy;
37
38#[cfg(feature = "deny-list")]
39mod deny_list;
40#[cfg(feature = "deny-list")]
41pub use deny_list::ToolDenyListPolicy;
42
43#[cfg(feature = "sandbox")]
44mod sandbox;
45#[cfg(feature = "sandbox")]
46pub use sandbox::SandboxPolicy;
47
48#[cfg(feature = "loop-detection")]
49mod loop_detection;
50#[cfg(feature = "loop-detection")]
51pub use loop_detection::{LoopDetectionAction, LoopDetectionPolicy};
52
53#[cfg(feature = "checkpoint")]
54mod checkpoint;
55#[cfg(feature = "checkpoint")]
56pub use checkpoint::CheckpointPolicy;
57
58#[cfg(feature = "prompt-guard")]
61mod prompt_guard;
62#[cfg(feature = "prompt-guard")]
63pub use prompt_guard::PromptInjectionGuard;
64
65#[cfg(feature = "pii")]
66mod pii_redactor;
67#[cfg(feature = "pii")]
68pub use pii_redactor::{PiiMode, PiiPattern, PiiRedactor};
69
70#[cfg(feature = "content-filter")]
71mod content_filter;
72#[cfg(feature = "content-filter")]
73pub use content_filter::{ContentFilter, ContentFilterError, FilterRule};
74
75#[cfg(feature = "audit")]
76mod audit_logger;
77#[cfg(feature = "audit")]
78pub use audit_logger::{
79 AuditCost, AuditLogger, AuditRecord, AuditSink, AuditUsage, JsonlAuditSink,
80};
81
82#[cfg(feature = "memory-nudge")]
83mod memory_nudge;
84#[cfg(feature = "memory-nudge")]
85pub use memory_nudge::{MemoryNudge, MemoryNudgeCategory, MemoryNudgePolicy, NudgeSensitivity};