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



304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
# File 'lib/riffer/config.rb', line 304

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.



223
224
225
# File 'lib/riffer/config.rb', line 223

def amazon_bedrock
  @amazon_bedrock
end

#anthropicRiffer::Config::Anthropic (readonly)

Anthropic configuration.



226
227
228
# File 'lib/riffer/config.rb', line 226

def anthropic
  @anthropic
end

#azure_openaiRiffer::Config::AzureOpenAI (readonly)

Azure OpenAI configuration.



229
230
231
# File 'lib/riffer/config.rb', line 229

def azure_openai
  @azure_openai
end

#evalsRiffer::Config::Evals (readonly)

Evals configuration.



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

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)


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

def experimental_history_healing
  @experimental_history_healing
end

#geminiRiffer::Config::Gemini (readonly)

Google Gemini configuration.



232
233
234
# File 'lib/riffer/config.rb', line 232

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:



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

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)


274
275
276
# File 'lib/riffer/config.rb', line 274

def message_id_strategy
  @message_id_strategy
end

#openaiRiffer::Config::OpenAI (readonly)

OpenAI configuration.



235
236
237
# File 'lib/riffer/config.rb', line 235

def openai
  @openai
end

#openrouterRiffer::Config::OpenRouter (readonly)

OpenRouter configuration.



238
239
240
# File 'lib/riffer/config.rb', line 238

def openrouter
  @openrouter
end

#pricingRiffer::Config::Pricing (readonly)

Consumer-configured per-model token pricing.



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

def pricing
  @pricing
end

#skillsRiffer::Config::Skills (readonly)

Skills-related global configuration.



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

def skills
  @skills
end

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

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

Returns:



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

def tool_runtime
  @tool_runtime
end

#tracingRiffer::Config::Tracing (readonly)

Tracing-related global configuration.



266
267
268
# File 'lib/riffer/config.rb', line 266

def tracing
  @tracing
end