From 53a7d88be51f5a73d6268709d92d915ebb458c00 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Wed, 15 Apr 2026 17:45:43 -0300 Subject: [PATCH] chore: sort providers alphabetically, keep popular at the top --- internal/providers/providers.go | 265 ++++++++++++++++---------------- 1 file changed, 134 insertions(+), 131 deletions(-) diff --git a/internal/providers/providers.go b/internal/providers/providers.go index ac39415486f22092f2506c65d39a771df7016cb4..4ba9d43f32bbc724f417d18ae9457c2e45a57e44 100644 --- a/internal/providers/providers.go +++ b/internal/providers/providers.go @@ -9,138 +9,141 @@ import ( "charm.land/catwalk/pkg/catwalk" ) -//go:embed configs/openai.json -var openAIConfig []byte +//go:embed configs/aihubmix.json +var aiHubMixConfig []byte //go:embed configs/anthropic.json var anthropicConfig []byte -//go:embed configs/synthetic.json -var syntheticConfig []byte - -//go:embed configs/gemini.json -var geminiConfig []byte - -//go:embed configs/openrouter.json -var openRouterConfig []byte +//go:embed configs/avian.json +var avianConfig []byte //go:embed configs/azure.json var azureConfig []byte -//go:embed configs/vertexai.json -var vertexAIConfig []byte - -//go:embed configs/xai.json -var xAIConfig []byte - -//go:embed configs/zai.json -var zAIConfig []byte - -//go:embed configs/zhipu.json -var zhipuConfig []byte - -//go:embed configs/zhipu-coding.json -var zhipuCodingConfig []byte - -//go:embed configs/nebius.json -var nebiusConfig []byte - //go:embed configs/bedrock.json var bedrockConfig []byte -//go:embed configs/groq.json -var groqConfig []byte - //go:embed configs/cerebras.json var cerebrasConfig []byte -//go:embed configs/venice.json -var veniceConfig []byte - //go:embed configs/chutes.json var chutesConfig []byte +//go:embed configs/copilot.json +var copilotConfig []byte + +//go:embed configs/cortecs.json +var cortecsConfig []byte + //go:embed configs/deepseek.json var deepSeekConfig []byte +//go:embed configs/gemini.json +var geminiConfig []byte + +//go:embed configs/groq.json +var groqConfig []byte + //go:embed configs/huggingface.json var huggingFaceConfig []byte -//go:embed configs/aihubmix.json -var aiHubMixConfig []byte +//go:embed configs/ionet.json +var ioNetConfig []byte //go:embed configs/kimi.json var kimiCodingConfig []byte -//go:embed configs/copilot.json -var copilotConfig []byte - -//go:embed configs/cortecs.json -var cortecsConfig []byte - -//go:embed configs/vercel.json -var vercelConfig []byte - //go:embed configs/minimax.json var miniMaxConfig []byte //go:embed configs/minimax-china.json var miniMaxChinaConfig []byte -//go:embed configs/ionet.json -var ioNetConfig []byte - -//go:embed configs/qiniucloud.json -var qiniuCloudConfig []byte - -//go:embed configs/avian.json -var avianConfig []byte +//go:embed configs/nebius.json +var nebiusConfig []byte //go:embed configs/neuralwatt.json var neuralwattConfig []byte -//go:embed configs/opencode-zen.json -var openCodeZenConfig []byte +//go:embed configs/openai.json +var openAIConfig []byte //go:embed configs/opencode-go.json var openCodeGoConfig []byte +//go:embed configs/opencode-zen.json +var openCodeZenConfig []byte + +//go:embed configs/openrouter.json +var openRouterConfig []byte + +//go:embed configs/qiniucloud.json +var qiniuCloudConfig []byte + +//go:embed configs/synthetic.json +var syntheticConfig []byte + +//go:embed configs/vercel.json +var vercelConfig []byte + +//go:embed configs/venice.json +var veniceConfig []byte + +//go:embed configs/vertexai.json +var vertexAIConfig []byte + +//go:embed configs/xai.json +var xAIConfig []byte + +//go:embed configs/zai.json +var zAIConfig []byte + +//go:embed configs/zhipu.json +var zhipuConfig []byte + +//go:embed configs/zhipu-coding.json +var zhipuCodingConfig []byte + // ProviderFunc is a function that returns a Provider. type ProviderFunc func() catwalk.Provider var providerRegistry = []ProviderFunc{ + // Let's keep the main providers at the top. anthropicProvider, openAIProvider, geminiProvider, - azureProvider, - bedrockProvider, - vertexAIProvider, xAIProvider, zAIProvider, - zhipuProvider, - zhipuCodingProvider, kimiCodingProvider, - groqProvider, - openRouterProvider, + miniMaxProvider, + miniMaxChinaProvider, + syntheticProvider, + + // The remaining will be in alphabetical order. + aiHubMixProvider, + avianProvider, + azureProvider, + bedrockProvider, cerebrasProvider, - veniceProvider, chutesProvider, - deepSeekProvider, - huggingFaceProvider, - aiHubMixProvider, - syntheticProvider, copilotProvider, cortecsProvider, - vercelProvider, - miniMaxProvider, - miniMaxChinaProvider, + deepSeekProvider, + groqProvider, + huggingFaceProvider, ioNetProvider, - qiniuCloudProvider, - avianProvider, nebiusProvider, neuralwattProvider, - openCodeZenProvider, openCodeGoProvider, + openCodeZenProvider, + openRouterProvider, + qiniuCloudProvider, + vercelProvider, + veniceProvider, + vertexAIProvider, + zhipuProvider, + zhipuCodingProvider, } // GetAll returns all registered providers. @@ -161,20 +164,16 @@ func loadProviderFromConfig(configData []byte) catwalk.Provider { return p } -func openAIProvider() catwalk.Provider { - return loadProviderFromConfig(openAIConfig) -} - -func syntheticProvider() catwalk.Provider { - return loadProviderFromConfig(syntheticConfig) +func aiHubMixProvider() catwalk.Provider { + return loadProviderFromConfig(aiHubMixConfig) } func anthropicProvider() catwalk.Provider { return loadProviderFromConfig(anthropicConfig) } -func geminiProvider() catwalk.Provider { - return loadProviderFromConfig(geminiConfig) +func avianProvider() catwalk.Provider { + return loadProviderFromConfig(avianConfig) } func azureProvider() catwalk.Provider { @@ -185,106 +184,110 @@ func bedrockProvider() catwalk.Provider { return loadProviderFromConfig(bedrockConfig) } -func vertexAIProvider() catwalk.Provider { - return loadProviderFromConfig(vertexAIConfig) +func cerebrasProvider() catwalk.Provider { + return loadProviderFromConfig(cerebrasConfig) } -func xAIProvider() catwalk.Provider { - return loadProviderFromConfig(xAIConfig) +func chutesProvider() catwalk.Provider { + return loadProviderFromConfig(chutesConfig) } -func zAIProvider() catwalk.Provider { - return loadProviderFromConfig(zAIConfig) +func copilotProvider() catwalk.Provider { + return loadProviderFromConfig(copilotConfig) } -func zhipuProvider() catwalk.Provider { - return loadProviderFromConfig(zhipuConfig) +func cortecsProvider() catwalk.Provider { + return loadProviderFromConfig(cortecsConfig) } -func zhipuCodingProvider() catwalk.Provider { - return loadProviderFromConfig(zhipuCodingConfig) +func deepSeekProvider() catwalk.Provider { + return loadProviderFromConfig(deepSeekConfig) } -func openRouterProvider() catwalk.Provider { - return loadProviderFromConfig(openRouterConfig) +func geminiProvider() catwalk.Provider { + return loadProviderFromConfig(geminiConfig) } func groqProvider() catwalk.Provider { return loadProviderFromConfig(groqConfig) } -func cerebrasProvider() catwalk.Provider { - return loadProviderFromConfig(cerebrasConfig) +func huggingFaceProvider() catwalk.Provider { + return loadProviderFromConfig(huggingFaceConfig) } -func veniceProvider() catwalk.Provider { - return loadProviderFromConfig(veniceConfig) +func ioNetProvider() catwalk.Provider { + return loadProviderFromConfig(ioNetConfig) } -func chutesProvider() catwalk.Provider { - return loadProviderFromConfig(chutesConfig) +func kimiCodingProvider() catwalk.Provider { + return loadProviderFromConfig(kimiCodingConfig) } -func deepSeekProvider() catwalk.Provider { - return loadProviderFromConfig(deepSeekConfig) +func miniMaxProvider() catwalk.Provider { + return loadProviderFromConfig(miniMaxConfig) } -func huggingFaceProvider() catwalk.Provider { - return loadProviderFromConfig(huggingFaceConfig) +func miniMaxChinaProvider() catwalk.Provider { + return loadProviderFromConfig(miniMaxChinaConfig) } -func aiHubMixProvider() catwalk.Provider { - return loadProviderFromConfig(aiHubMixConfig) +func nebiusProvider() catwalk.Provider { + return loadProviderFromConfig(nebiusConfig) } -func kimiCodingProvider() catwalk.Provider { - return loadProviderFromConfig(kimiCodingConfig) +func neuralwattProvider() catwalk.Provider { + return loadProviderFromConfig(neuralwattConfig) } -func copilotProvider() catwalk.Provider { - return loadProviderFromConfig(copilotConfig) +func openAIProvider() catwalk.Provider { + return loadProviderFromConfig(openAIConfig) } -func cortecsProvider() catwalk.Provider { - return loadProviderFromConfig(cortecsConfig) +func openCodeGoProvider() catwalk.Provider { + return loadProviderFromConfig(openCodeGoConfig) } -func vercelProvider() catwalk.Provider { - return loadProviderFromConfig(vercelConfig) +func openCodeZenProvider() catwalk.Provider { + return loadProviderFromConfig(openCodeZenConfig) } -func miniMaxProvider() catwalk.Provider { - return loadProviderFromConfig(miniMaxConfig) +func openRouterProvider() catwalk.Provider { + return loadProviderFromConfig(openRouterConfig) } -func miniMaxChinaProvider() catwalk.Provider { - return loadProviderFromConfig(miniMaxChinaConfig) +func qiniuCloudProvider() catwalk.Provider { + return loadProviderFromConfig(qiniuCloudConfig) } -func ioNetProvider() catwalk.Provider { - return loadProviderFromConfig(ioNetConfig) +func syntheticProvider() catwalk.Provider { + return loadProviderFromConfig(syntheticConfig) } -func qiniuCloudProvider() catwalk.Provider { - return loadProviderFromConfig(qiniuCloudConfig) +func vercelProvider() catwalk.Provider { + return loadProviderFromConfig(vercelConfig) } -func nebiusProvider() catwalk.Provider { - return loadProviderFromConfig(nebiusConfig) +func veniceProvider() catwalk.Provider { + return loadProviderFromConfig(veniceConfig) } -func avianProvider() catwalk.Provider { - return loadProviderFromConfig(avianConfig) +func vertexAIProvider() catwalk.Provider { + return loadProviderFromConfig(vertexAIConfig) } -func neuralwattProvider() catwalk.Provider { - return loadProviderFromConfig(neuralwattConfig) +func xAIProvider() catwalk.Provider { + return loadProviderFromConfig(xAIConfig) } -func openCodeZenProvider() catwalk.Provider { - return loadProviderFromConfig(openCodeZenConfig) +func zAIProvider() catwalk.Provider { + return loadProviderFromConfig(zAIConfig) } -func openCodeGoProvider() catwalk.Provider { - return loadProviderFromConfig(openCodeGoConfig) +func zhipuProvider() catwalk.Provider { + return loadProviderFromConfig(zhipuConfig) +} + +func zhipuCodingProvider() catwalk.Provider { + return loadProviderFromConfig(zhipuCodingConfig) }