Class: Olyx::Guardrails::MessageCheckRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/olyx/guardrails/message_check_runner.rb

Overview

Orchestrates checks for structured chat messages.

Class Method Summary collapse

Class Method Details

.call(messages, policy: Policy.default, llm_provider: nil) ⇒ Object

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
21
# File 'lib/olyx/guardrails/message_check_runner.rb', line 13

def self.call(messages, policy: Policy.default, llm_provider: nil)
  Validation.array_of!(messages, Hash, name: 'messages')
  raise ArgumentError, 'policy must be an Olyx::Guardrails::Policy' unless policy.is_a?(Policy)

  Validation.callable_or_nil!(llm_provider, name: 'llm_provider')
  source = MessageSource.call(messages)
  checks = MessageCheckSet.call(source, messages, policy: policy)
  CheckPipeline.call(source, checks, policy: policy, llm_provider: llm_provider)
end