Class: SwarmSDK::ToolPermissionsProxy
- Inherits:
-
Object
- Object
- SwarmSDK::ToolPermissionsProxy
- Defined in:
- lib/swarm_sdk/permissions_builder.rb
Overview
Proxy for configuring permissions on a specific tool
Instance Method Summary collapse
-
#allow_commands(*patterns) ⇒ self
Add allowed command patterns (Bash tool only).
-
#allow_paths(*patterns) ⇒ self
Add allowed path patterns.
-
#deny_commands(*patterns) ⇒ self
Add denied command patterns (Bash tool only).
-
#deny_paths(*patterns) ⇒ self
Add denied path patterns.
-
#initialize(tool_name, permissions_hash) ⇒ ToolPermissionsProxy
constructor
A new instance of ToolPermissionsProxy.
Constructor Details
#initialize(tool_name, permissions_hash) ⇒ ToolPermissionsProxy
Returns a new instance of ToolPermissionsProxy.
66 67 68 69 |
# File 'lib/swarm_sdk/permissions_builder.rb', line 66 def initialize(tool_name, ) @tool_name = tool_name.to_sym @permissions = end |
Instance Method Details
#allow_commands(*patterns) ⇒ self
Add allowed command patterns (Bash tool only)
97 98 99 100 101 102 |
# File 'lib/swarm_sdk/permissions_builder.rb', line 97 def allow_commands(*patterns) ensure_tool_config @permissions[@tool_name][:allowed_commands] ||= [] @permissions[@tool_name][:allowed_commands].concat(patterns.flatten) self end |
#allow_paths(*patterns) ⇒ self
Add allowed path patterns
75 76 77 78 79 80 |
# File 'lib/swarm_sdk/permissions_builder.rb', line 75 def allow_paths(*patterns) ensure_tool_config @permissions[@tool_name][:allowed_paths] ||= [] @permissions[@tool_name][:allowed_paths].concat(patterns.flatten) self end |
#deny_commands(*patterns) ⇒ self
Add denied command patterns (Bash tool only)
108 109 110 111 112 113 |
# File 'lib/swarm_sdk/permissions_builder.rb', line 108 def deny_commands(*patterns) ensure_tool_config @permissions[@tool_name][:denied_commands] ||= [] @permissions[@tool_name][:denied_commands].concat(patterns.flatten) self end |
#deny_paths(*patterns) ⇒ self
Add denied path patterns
86 87 88 89 90 91 |
# File 'lib/swarm_sdk/permissions_builder.rb', line 86 def deny_paths(*patterns) ensure_tool_config @permissions[@tool_name][:denied_paths] ||= [] @permissions[@tool_name][:denied_paths].concat(patterns.flatten) self end |