chore: sort providers alphabetically, keep popular at the top

Andrey Nering created

Change summary

internal/providers/providers.go | 265 +++++++++++++++++-----------------
1 file changed, 134 insertions(+), 131 deletions(-)

Detailed changes

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)
 }