()
| 30 | }; |
| 31 | |
| 32 | async function fetchOpenRouterModels(): Promise<OpenRouterModel[]> { |
| 33 | try { |
| 34 | const response = await fetch('https://openrouter.ai/api/v1/models'); |
| 35 | if (!response.ok) { |
| 36 | throw new Error('Failed to fetch models'); |
| 37 | } |
| 38 | const data = await response.json(); |
| 39 | return data.data || []; |
| 40 | } catch (error) { |
| 41 | console.error('Error fetching OpenRouter models:', error); |
| 42 | return []; |
| 43 | } |
| 44 | } |
| 45 | |
| 46 | function groupModelsByProvider(models: OpenRouterModel[]): GroupedOpenRouterModels { |
| 47 | return models.reduce((grouped, model) => { |
no outgoing calls
no test coverage detected