| 3321 | } |
| 3322 | |
| 3323 | export function getProviderFromModel(model: string): ProviderId { |
| 3324 | const normalizedModel = model.toLowerCase() |
| 3325 | |
| 3326 | for (const [providerId, provider] of Object.entries(PROVIDER_DEFINITIONS)) { |
| 3327 | if ( |
| 3328 | provider.models.some((providerModel) => providerModel.id.toLowerCase() === normalizedModel) |
| 3329 | ) { |
| 3330 | return providerId as ProviderId |
| 3331 | } |
| 3332 | } |
| 3333 | |
| 3334 | for (const [providerId, provider] of Object.entries(PROVIDER_DEFINITIONS)) { |
| 3335 | if (provider.modelPatterns?.some((pattern) => pattern.test(normalizedModel))) { |
| 3336 | return providerId as ProviderId |
| 3337 | } |
| 3338 | } |
| 3339 | |
| 3340 | return 'ollama' |
| 3341 | } |
| 3342 | |
| 3343 | export function getProviderIcon(model: string): React.ComponentType<{ className?: string }> | null { |
| 3344 | const providerId = getProviderFromModel(model) |