Class: Riffer::Config
- Inherits:
-
Object
- Object
- Riffer::Config
- Defined in:
- lib/riffer/config.rb
Overview
Configuration for the Riffer framework.
Provides configuration options for AI providers and other settings.
Riffer.config.openai.api_key = "sk-..."
Riffer.config.amazon_bedrock.region = "us-east-1"
Riffer.config.amazon_bedrock.api_token = "..."
Riffer.config.anthropic.api_key = "sk-ant-..."
Riffer.config.evals.judge_model = "anthropic/claude-sonnet-4-20250514"
Defined Under Namespace
Classes: AmazonBedrock, Anthropic, AzureOpenAI, Evals, Gemini, Mcp, OpenAI, Skills
Constant Summary collapse
- VALID_MESSAGE_ID_STRATEGIES =
%i[none uuid uuidv7].freeze
Instance Attribute Summary collapse
-
#amazon_bedrock ⇒ Object
readonly
Amazon Bedrock configuration (Struct with
api_tokenandregion). -
#anthropic ⇒ Object
readonly
Anthropic configuration (Struct with
api_key). -
#azure_openai ⇒ Object
readonly
Azure OpenAI configuration (Struct with
api_keyandendpoint). -
#evals ⇒ Object
readonly
Evals configuration (Struct with
judge_model). -
#gemini ⇒ Object
readonly
Google Gemini configuration (Struct with
api_key,open_timeout, andread_timeout). -
#mcp ⇒ Object
readonly
MCP configuration (Struct with
credentialsanddiscovery_runner). -
#message_id_strategy ⇒ Object
Strategy for auto-generating message ids.
-
#openai ⇒ Object
readonly
OpenAI configuration (Struct with
api_key). -
#skills ⇒ Object
readonly
Skills-related global configuration.
-
#tool_runtime ⇒ Object
Global tool runtime configuration (experimental).
Instance Method Summary collapse
-
#initialize ⇒ Config
constructor
– : () -> void.
Constructor Details
#initialize ⇒ Config
– : () -> void
156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'lib/riffer/config.rb', line 156 def initialize @amazon_bedrock = AmazonBedrock.new @anthropic = Anthropic.new @azure_openai = AzureOpenAI.new @gemini = Gemini.new @openai = OpenAI.new @evals = Evals.new @mcp = Mcp.new(credentials: nil, discovery_runner: Riffer::Runner::Sequential.new) @tool_runtime = Riffer::ToolRuntime::Inline.new @skills = Skills.new @message_id_strategy = :none end |
Instance Attribute Details
#amazon_bedrock ⇒ Object (readonly)
Amazon Bedrock configuration (Struct with api_token and region).
80 81 82 |
# File 'lib/riffer/config.rb', line 80 def amazon_bedrock @amazon_bedrock end |
#anthropic ⇒ Object (readonly)
Anthropic configuration (Struct with api_key).
83 84 85 |
# File 'lib/riffer/config.rb', line 83 def anthropic @anthropic end |
#azure_openai ⇒ Object (readonly)
Azure OpenAI configuration (Struct with api_key and endpoint).
86 87 88 |
# File 'lib/riffer/config.rb', line 86 def azure_openai @azure_openai end |
#evals ⇒ Object (readonly)
Evals configuration (Struct with judge_model).
95 96 97 |
# File 'lib/riffer/config.rb', line 95 def evals @evals end |
#gemini ⇒ Object (readonly)
Google Gemini configuration (Struct with api_key, open_timeout, and read_timeout).
89 90 91 |
# File 'lib/riffer/config.rb', line 89 def gemini @gemini end |
#mcp ⇒ Object (readonly)
MCP configuration (Struct with credentials and discovery_runner).
credentials is an optional Proc for per-run MCP tools/call HTTP headers. Signature: ->(manifest:, matched_tags:, context:) { Hash or nil }. nil from the proc at tool-resolution time omits that server’s tools; nil at tool-call time raises Riffer::Mcp::CredentialsDeniedError.
discovery_runner is the Riffer::Runner used to execute tool discovery (default Runner::Sequential).
106 107 108 |
# File 'lib/riffer/config.rb', line 106 def mcp @mcp end |
#message_id_strategy ⇒ Object
Strategy for auto-generating message ids. One of :none (default, no id), :uuid (UUIDv4), or :uuidv7 (time-ordered UUIDv7).
When set to anything other than :none, each Riffer::Messages::Base instance gets an id populated at construction time, and seeded messages passed to Riffer::Agent#generate must carry their own :id.
137 138 139 |
# File 'lib/riffer/config.rb', line 137 def @message_id_strategy end |
#openai ⇒ Object (readonly)
OpenAI configuration (Struct with api_key).
92 93 94 |
# File 'lib/riffer/config.rb', line 92 def openai @openai end |
#skills ⇒ Object (readonly)
Skills-related global configuration. Returns a Riffer::Config::Skills object — see Riffer.config.skills.default_activate_tool.
129 130 131 |
# File 'lib/riffer/config.rb', line 129 def skills @skills end |
#tool_runtime ⇒ Object
Global tool runtime configuration (experimental).
Accepts a Riffer::ToolRuntime subclass, a Riffer::ToolRuntime instance, or a Proc. Defaults to Riffer::ToolRuntime::Inline.new.
112 113 114 |
# File 'lib/riffer/config.rb', line 112 def tool_runtime @tool_runtime end |