Approval
Require human approval before sensitive actions
Approval mode requires human confirmation before agents execute sensitive operations.
Quick Start
- Configure Approval with AutonomyConfig
rust use praisonai::AutonomyConfig; // Create config that requires approval (default) let config = AutonomyConfig::new(); // require_approval is true by default // Or disable approval let no_approval = AutonomyConfig::new() .no_approval(); println!("Approval required: {}", config.require_approval); // true println!("Approval required: {}", no_approval.require_approval); // false - Block Dangerous Tools
rust use praisonai::AutonomyConfig; let config = AutonomyConfig::new() .block_tool("delete_file") .block_tool("rm_directory") .max_actions(10); // Pause after 10 autonomous actions - Allow Specific Tools
rust use praisonai::{AutonomyConfig, AutonomyLevel}; let config = AutonomyConfig::new() .level(AutonomyLevel::Limited) .allow_tool("read_file") .allow_tool("search") .allow_tool("list_dir");
How It Works
AutonomyConfig
Configuration for agent autonomy and approval behavior.
pub struct AutonomyConfig {
pub level: AutonomyLevel,
pub require_approval: bool,
pub max_actions: Option<usize>,
pub allowed_tools: Vec<String>,
pub blocked_tools: Vec<String>,
}Methods
| Method | Description |
|---|---|
new() | Create with defaults (approval required) |
level(AutonomyLevel) | Set autonomy level |
no_approval() | Disable approval requirement |
max_actions(usize) | Set max actions before pause |
allow_tool(name) | Add tool to allowed list |
block_tool(name) | Add tool to blocked list |
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
require_approval | bool | true | Require approval for actions |
level | AutonomyLevel | Default | Autonomy level |
max_actions | Option<usize> | None | Max actions before pause |
allowed_tools | `Vec |
| [] | Tools allowed autonomously | | blocked_tools | Vec
| []` | Tools never run autonomously |
Best Practices
Use for destructive operations
Enable approval for delete, write, and modify operations.
Skip for read-only operations
Don’t require approval for search, read, or analyze.