Class: SkillBench::Clients::ProviderSchemas
- Inherits:
-
Object
- Object
- SkillBench::Clients::ProviderSchemas
- Defined in:
- lib/skill_bench/clients/provider_schemas.rb
Overview
Registry of provider configuration schemas with default placeholder values. Each provider defines its required configuration keys and sensible defaults.
Constant Summary collapse
- PROVIDER_SCHEMAS =
{ openai: { api_key: nil, model: 'gpt-4o' }.freeze, anthropic: { api_key: nil, model: 'claude-opus-4-7' }.freeze, gemini: { api_key: nil, model: 'gemini-1.5-flash-latest', location: 'us-central1', project_id: nil }.freeze, ollama: { api_key: nil, model: 'qwen:7b', base_url: nil }.freeze, azure: { api_key: nil, model: 'gpt-4', endpoint: nil, api_version: nil }.freeze, groq: { api_key: nil, model: 'llama-3.3-70b-versatile' }.freeze, deepseek: { api_key: nil, model: 'deepseek-chat' }.freeze, opencode: { api_key: nil, model: 'opencode-model', base_url: nil }.freeze, openrouter: { api_key: nil, model: 'anthropic/claude-3.5-sonnet' }.freeze }.freeze
Class Method Summary collapse
-
.for(provider) ⇒ Hash
Returns the configuration schema for a given provider.
-
.names ⇒ Array<Symbol>
Returns list of all registered provider names.
Class Method Details
.for(provider) ⇒ Hash
Returns the configuration schema for a given provider.
58 59 60 61 62 63 |
# File 'lib/skill_bench/clients/provider_schemas.rb', line 58 def self.for(provider) schema = PROVIDER_SCHEMAS.fetch(provider) do raise(ArgumentError, "Unknown provider: #{provider}. Available: #{PROVIDER_SCHEMAS.keys.join(', ')}") end schema.dup end |
.names ⇒ Array<Symbol>
Returns list of all registered provider names.
68 69 70 |
# File 'lib/skill_bench/clients/provider_schemas.rb', line 68 def self.names PROVIDER_SCHEMAS.keys end |