Class: Ace::Lint::Atoms::AllowedToolsValidator
- Inherits:
-
Object
- Object
- Ace::Lint::Atoms::AllowedToolsValidator
- Defined in:
- lib/ace/lint/atoms/allowed_tools_validator.rb
Overview
Validates allowed-tools entries against known tools list Handles both simple tool names and Bash(prefix:*) patterns
Constant Summary collapse
- BASH_PATTERN_REGEX =
Pattern to match Bash(prefix:*) format e.g., “Bash(ace-git:*)”, “Bash(npm:*)”
/\ABash\(([^:]+):\*\)\z/
Class Method Summary collapse
-
.validate(tools, known_tools:, known_bash_prefixes:) ⇒ Array<Hash>
Validate allowed-tools array.
Class Method Details
.validate(tools, known_tools:, known_bash_prefixes:) ⇒ Array<Hash>
Validate allowed-tools array
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ace/lint/atoms/allowed_tools_validator.rb', line 19 def validate(tools, known_tools:, known_bash_prefixes:) errors = [] # Handle string format (comma-separated) tools_array = normalize_tools(tools) tools_array.each do |tool| tool = tool.to_s.strip next if tool.empty? error = validate_single_tool(tool, known_tools, known_bash_prefixes) errors << error if error end errors end |