Permissions
freeact.permissions.PermissionManager
Tool permission gating with two-tier approval: always-allowed (persisted) and session-only (in-memory).
Filesystem tools targeting paths within .freeact/ are auto-approved
without explicit permission grants.
allow_always
async
allow_always(tool_name: str) -> None
Grant permanent permission for a tool and persist to disk.
allow_session
allow_session(tool_name: str) -> None
Grant permission for a tool until the session ends (not persisted).
is_allowed
Check if a tool call is pre-approved.
Returns True if the tool is in the always-allowed or session-allowed
set, or if it's a filesystem tool operating within .freeact/.
load
async
load() -> None
Load always-allowed tools from .freeact/permissions.json.
save
async
save() -> None
Persist always-allowed tools to .freeact/permissions.json.