approval • AI Agent SDK
Extensible Approval Protocol for PraisonAI Agents.
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
from praisonaiagents import approvalClasses
Permission entry for a tool.
PermissionAllowlistPersistent permission allowlist for tools.
Functions
Return the global singleton :class:ApprovalRegistry.
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.