ValidateAIGatewayProviderModel rejects slash-namespaced models on OpenRouter-like providers typed as openai, where the provider type strips the vendor prefix.
(provider database.AIProvider, model string)
| 91 | // OpenRouter-like providers typed as openai, where the provider type |
| 92 | // strips the vendor prefix. |
| 93 | func ValidateAIGatewayProviderModel(provider database.AIProvider, model string) error { |
| 94 | if provider.Type != database.AiProviderTypeOpenai { |
| 95 | return nil |
| 96 | } |
| 97 | if !isSlashNamespacedAIGatewayModel(model) || !isOpenRouterLikeAIGatewayProvider(provider) { |
| 98 | return nil |
| 99 | } |
| 100 | return xerrors.New("OpenRouter-like provider configured as type openai does not support slash-namespaced models") |
| 101 | } |
| 102 | |
| 103 | func isSlashNamespacedAIGatewayModel(model string) bool { |
| 104 | prefix, suffix, ok := strings.Cut(strings.TrimSpace(model), "/") |
no test coverage detected