Class: Riffer::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/riffer/config.rb,
sig/generated/riffer/config.rbs

Overview

Configuration for the Riffer framework.

Defined Under Namespace

Classes: AmazonBedrock, Anthropic, AzureOpenAI, Evals, Gemini, Mcp, OpenAI, OpenRouter, Pricing, Skills, Tracing

Constant Summary collapse

VALID_MESSAGE_ID_STRATEGIES =

Returns:

  • (Object)
%i[none uuid uuidv7].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

-- : () -> void



327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
# File 'lib/riffer/config.rb', line 327

def initialize
  @amazon_bedrock = AmazonBedrock.new
  @anthropic = Anthropic.new
  @azure_openai = AzureOpenAI.new
  @gemini = Gemini.new
  @openai = OpenAI.new
  @openrouter = OpenRouter.new
  @evals = Evals.new
  @mcp = Mcp.new(credentials: nil, discovery_runner: Riffer::Runner::Sequential.new)
  @tool_runtime = Riffer::Tools::Runtime::Inline.new
  @skills = Skills.new
  @tracing = Tracing.new
  @pricing = Pricing.new
  @message_id_strategy = :none
  @experimental_history_healing = false
end

Instance Attribute Details

#amazon_bedrockRiffer::Config::AmazonBedrock (readonly)

Amazon Bedrock configuration.



241
242
243
# File 'lib/riffer/config.rb', line 241

def amazon_bedrock
  @amazon_bedrock
end

#anthropicRiffer::Config::Anthropic (readonly)

Anthropic configuration.



244
245
246
# File 'lib/riffer/config.rb', line 244

def anthropic
  @anthropic
end

#azure_openaiRiffer::Config::AzureOpenAI (readonly)

Azure OpenAI configuration.



247
248
249
# File 'lib/riffer/config.rb', line 247

def azure_openai
  @azure_openai
end

#evalsRiffer::Config::Evals (readonly)

Evals configuration.



259
260
261
# File 'lib/riffer/config.rb', line 259

def evals
  @evals
end

#experimental_history_healingBoolean

Experimental: when true, riffer maintains the tool_usetool_result invariant itself — stripping orphaned exchanges and filling interrupted ones. Defaults to false; the surface may change without notice.

Returns:

  • (Boolean)


314
315
316
# File 'lib/riffer/config.rb', line 314

def experimental_history_healing
  @experimental_history_healing
end

#geminiRiffer::Config::Gemini (readonly)

Google Gemini configuration.



250
251
252
# File 'lib/riffer/config.rb', line 250

def gemini
  @gemini
end

#mcpRiffer::Config::Mcp (readonly)

MCP configuration. credentials is an optional Proc returning per-run tools/call headers (or nil to deny); discovery_runner runs tool discovery.

Returns:



264
265
266
# File 'lib/riffer/config.rb', line 264

def mcp
  @mcp
end

#message_id_strategySymbol

Strategy for auto-generating message ids: :none (default), :uuid, or :uuidv7. When not :none, messages get an id at construction, and seeded messages passed to Riffer::Agent#generate must carry their own.

Returns:

  • (Symbol)


297
298
299
# File 'lib/riffer/config.rb', line 297

def message_id_strategy
  @message_id_strategy
end

#openaiRiffer::Config::OpenAI (readonly)

OpenAI configuration.



253
254
255
# File 'lib/riffer/config.rb', line 253

def openai
  @openai
end

#openrouterRiffer::Config::OpenRouter (readonly)

OpenRouter configuration.



256
257
258
# File 'lib/riffer/config.rb', line 256

def openrouter
  @openrouter
end

#pricingRiffer::Config::Pricing (readonly)

Consumer-configured per-model token pricing.



292
293
294
# File 'lib/riffer/config.rb', line 292

def pricing
  @pricing
end

#skillsRiffer::Config::Skills (readonly)

Skills-related global configuration.



286
287
288
# File 'lib/riffer/config.rb', line 286

def skills
  @skills
end

#tool_runtimesingleton(Riffer::Tools::Runtime), ...

Global tool runtime configuration (experimental); defaults to Riffer::Tools::Runtime::Inline.new.

Returns:



268
269
270
# File 'lib/riffer/config.rb', line 268

def tool_runtime
  @tool_runtime
end

#tracingRiffer::Config::Tracing (readonly)

Tracing-related global configuration.



289
290
291
# File 'lib/riffer/config.rb', line 289

def tracing
  @tracing
end