SpectraConfig.fromMap constructor

SpectraConfig.fromMap(
  1. Map<String, String> map
)

Creates a SpectraConfig from a map (used for secure storage).

Implementation

factory SpectraConfig.fromMap(Map<String, String> map) {
  // Helper to normalize provider names to lowercase (for v0.1.4 migration)
  String? normalizeProvider(String? provider) =>
      provider?.toLowerCase().trim();

  return SpectraConfig(
    geminiKey: map['gemini_key'],
    openaiKey: map['openai_key'],
    claudeKey: map['claude_key'],
    grokKey: map['grok_key'],
    deepseekKey: map['deepseek_key'],
    geminiModel: map['gemini_model'],
    openaiModel: map['openai_model'],
    claudeModel: map['claude_model'],
    grokModel: map['grok_model'],
    deepseekModel: map['deepseek_model'],
    preferredProvider: normalizeProvider(map['preferred_provider']),
    planningProvider: normalizeProvider(map['planning_provider']),
    codingProvider: normalizeProvider(map['coding_provider']),
    executionMode: map['execution_mode'],
  );
}