Currently, LLM provider names are hardcoded as strings throughout the codebase, which can lead to:
- Typos and inconsistencies
- No compile-time validation
- Difficulty adding new providers
- Magic strings scattered across files
Proposed Solution
Create a type-safe enum for LLM providers in pkg/types/types.go and update all references throughout the codebase.