Skip to main content

approval

AI Agent Extensible Approval Protocol for PraisonAI Agents. This package provides a protocol-driven, per-agent approval system for tool executions. It is fully backward-compatible with the old approval.py module — all existing imports continue to work. Quick start (no Agent class changes needed):: from praisonaiagents.approval import get_approval_registry, AutoApproveBackend

Global auto-approve for all agents

get_approval_registry().set_backend(AutoApproveBackend())

Per-agent backend

get_approval_registry().set_backend(AutoApproveBackend(), agent_name=“bot”) Custom backend:: from praisonaiagents.approval import ApprovalProtocol, ApprovalRequest, ApprovalDecision class WebhookBackend: async def request_approval(self, request: ApprovalRequest) -> ApprovalDecision:

POST to external service, wait for response

return ApprovalDecision(approved=True) get_approval_registry().set_backend(WebhookBackend())

Import

Classes

ToolPermission

Permission entry for a tool.

PermissionAllowlist

Persistent permission allowlist for tools.

Functions

get_approval_registry()

Return the global singleton :class:ApprovalRegistry.

set_approval_callback()

Set a custom approval callback (legacy API).

get_approval_callback()

Get the current approval callback function (legacy API).

mark_approved()

Function definition.

is_already_approved()

Function definition.

is_yaml_approved()

Function definition.

is_env_auto_approve()

Function definition.

set_yaml_approved_tools()

Function definition.

add_yaml_approved_tools()

Function definition.

reset_yaml_approved_tools()

Function definition.

clear_approval_context()

Function definition.

configure_default_approvals()

Re-configure default dangerous tools (idempotent).

add_approval_requirement()

Function definition.

remove_approval_requirement()

Function definition.

is_approval_required()

Function definition.

get_risk_level()

Function definition.

console_approval_callback()

Default console-based approval callback (legacy API).

request_approval()

Request approval for a tool execution (legacy async API).

require_approval()

Decorator to mark a tool as requiring human approval.

get_permission_allowlist()

Function definition.

set_permission_allowlist()

Function definition.