class Riffer::Agent::StructuredOutput
Attributes
Public Class Methods
Source
# File lib/riffer/agent/structured_output.rb, line 11 def initialize(params) @params = params end
Public Instance Methods
Source
# File lib/riffer/agent/structured_output.rb, line 17 def json_schema(strict: false) @params.to_json_schema(strict: strict) end
Source
# File lib/riffer/agent/structured_output.rb, line 23 def parse_and_validate(json_string) parsed = JSON.parse(json_string, symbolize_names: true) validated = @params.validate(parsed) Result.new(object: validated) rescue JSON::ParserError => e Result.new(error: "JSON parse error: #{e.message}") rescue Riffer::ValidationError => e Result.new(error: "Validation error: #{e.message}") end