SpectraConfig.fromYaml constructor
SpectraConfig.fromYaml(
- Map yaml
Implementation
factory SpectraConfig.fromYaml(Map<dynamic, dynamic> yaml) {
// Helper to normalize provider names to lowercase (for v0.1.4 migration)
String? normalizeProvider(String? provider) =>
provider?.toLowerCase().trim();
return SpectraConfig(
geminiKey: yaml['gemini_key'] as String?,
openaiKey: yaml['openai_key'] as String?,
claudeKey: yaml['claude_key'] as String?,
grokKey: yaml['grok_key'] as String?,
deepseekKey: yaml['deepseek_key'] as String?,
geminiModel: yaml['gemini_model'] as String?,
openaiModel: yaml['openai_model'] as String?,
claudeModel: yaml['claude_model'] as String?,
grokModel: yaml['grok_model'] as String?,
deepseekModel: yaml['deepseek_model'] as String?,
preferredProvider: normalizeProvider(
yaml['preferred_provider'] as String?,
),
planningProvider: normalizeProvider(yaml['planning_provider'] as String?),
codingProvider: normalizeProvider(yaml['coding_provider'] as String?),
executionMode: yaml['execution_mode'] as String?,
);
}