This program creates two tools with specific permissions. It shows which actions are allowed or blocked based on the permission boundaries.
class Tool:
def __init__(self, name, permissions):
self.name = name
self.permissions = permissions
def perform_action(self, action):
if action in self.permissions.get("allowed_actions", []):
return f"{self.name} performed {action}"
else:
return f"{self.name} is not allowed to perform {action}"
# Define permission boundaries
permissions = {
"calculator": {
"allowed_actions": ["add", "subtract"],
"restricted_data": []
},
"file_tool": {
"allowed_actions": ["read"],
"restricted_data": ["secret.txt"]
}
}
# Create tools
calculator = Tool("calculator", permissions["calculator"])
file_tool = Tool("file_tool", permissions["file_tool"])
# Test actions
print(calculator.perform_action("add"))
print(calculator.perform_action("multiply"))
print(file_tool.perform_action("read"))
print(file_tool.perform_action("write"))