Class: RosettAi::Workflow::SchemaValidator
- Inherits:
-
Object
- Object
- RosettAi::Workflow::SchemaValidator
- Defined in:
- lib/rosett_ai/workflow/schema_validator.rb
Overview
Validates workflow YAML files against the workflow JSON Schema.
Additionally enforces security constraints: shell steps must use array-form commands, prompt steps must not contain secret literals.
Constant Summary collapse
- MAX_STEPS =
Returns Maximum number of steps allowed in a workflow.
50- SCHEMA_PATH =
Returns Path to the JSON Schema file used for validation.
File.('../../../conf/schemas/workflow_schema.json', __dir__)
Instance Method Summary collapse
- #valid?(data) ⇒ Boolean
-
#validate(data) ⇒ Array<String>
Validation errors (empty if valid).
Instance Method Details
#valid?(data) ⇒ Boolean
33 34 35 |
# File 'lib/rosett_ai/workflow/schema_validator.rb', line 33 def valid?(data) validate(data).empty? end |
#validate(data) ⇒ Array<String>
Returns validation errors (empty if valid).
25 26 27 28 29 |
# File 'lib/rosett_ai/workflow/schema_validator.rb', line 25 def validate(data) errors = schema_errors(data) errors += security_errors(data) if errors.empty? errors end |