capabilities
capabilities
¶
RBAC capability system — fine-grained permission model for tool dispatch.
Classes¶
Capability
¶
Bases: str, Enum
Fine-grained capability labels.
CapabilityGrant
dataclass
¶
A single capability grant for an agent.
AgentPolicy
dataclass
¶
AgentPolicy(
agent_id: str,
grants: List[CapabilityGrant] = list(),
deny: List[str] = list(),
)
Policy for a specific agent.
CapabilityPolicy
¶
RBAC capability policy for tool dispatch.
Checks whether an agent has the required capability to invoke a tool. Policy can be loaded from a JSON file or configured programmatically.
Default policy: if no explicit policy exists for an agent, capabilities are denied. Callers must opt into a permissive policy explicitly.
Source code in src/diapason/security/capabilities.py
Attributes¶
has_explicit_policy
property
¶
Whether an administrator supplied a policy file.
Methods:¶
grant
¶
Grant a capability to an agent.
Source code in src/diapason/security/capabilities.py
deny
¶
Explicitly deny a capability to an agent.
Source code in src/diapason/security/capabilities.py
check
¶
Check whether agent_id has capability for resource.
Returns True if allowed, False if denied.
Source code in src/diapason/security/capabilities.py
list_grants
¶
list_grants(agent_id: str) -> List[CapabilityGrant]
list_agents
¶
save
¶
Atomically save policy to an owner-only JSON file.