Module: Smith::Guardrails::Runner

Defined in:
lib/smith/guardrails/runner.rb

Class Method Summary collapse

Class Method Details

.run_inputs(guardrails_class, payload) ⇒ Object



7
8
9
# File 'lib/smith/guardrails/runner.rb', line 7

def run_inputs(guardrails_class, payload)
  run_layer(guardrails_class, guardrails_class.input, payload, GuardrailFailed)
end

.run_outputs(guardrails_class, payload) ⇒ Object



11
12
13
# File 'lib/smith/guardrails/runner.rb', line 11

def run_outputs(guardrails_class, payload)
  run_layer(guardrails_class, guardrails_class.output, payload, GuardrailFailed)
end

.run_tool(guardrails_class, tool_name, payload) ⇒ Object



15
16
17
18
# File 'lib/smith/guardrails/runner.rb', line 15

def run_tool(guardrails_class, tool_name, payload)
  matching = guardrails_class.tool.select { |d| d[:on]&.include?(tool_name) }
  run_layer(guardrails_class, matching, payload, ToolGuardrailFailed)
end