class PermissionManager:
def add_rule(self, rule: PermissionRule) -> str:
"""Add a permission rule. Returns rule ID."""
def remove_rule(self, rule_id: str) -> bool:
"""Remove a rule by ID."""
def check(
self,
target: str,
agent_name: Optional[str] = None
) -> PermissionResult:
"""Check permission for a target."""
def approve(
self,
target: str,
approved: bool,
scope: str = "once" # once, session, always
) -> PersistentApproval:
"""Record an approval decision."""
def check_doom_loop(
self,
tool_name: str,
arguments: Dict[str, Any]
) -> DoomLoopResult:
"""Check for doom loop patterns."""