This commit is contained in:
Yann Smatti 2026-09-15 14:19:50 -04:00 committed by GitHub
commit b285b9eb1b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 0 deletions

View file

@ -0,0 +1 @@
<svg fill="#4F0599" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Scaleway</title><path d="M16.605 11.11v5.72a1.77 1.77 0 01-1.54 1.69h-4a1.43 1.43 0 01-1.31-1.22 1.09 1.09 0 010-.18 1.37 1.37 0 011.37-1.36h1.74a1 1 0 001-1v-3.62a1.4 1.4 0 011.18-1.39h.17a1.37 1.37 0 011.39 1.36zm-6.46 1.74V9.26a1 1 0 011-1h1.85a1.37 1.37 0 001.37-1.37 1 1 0 000-.17 1.45 1.45 0 00-1.41-1.2h-3.96a1.81 1.81 0 00-1.58 1.66v5.7a1.37 1.37 0 001.37 1.37h.21a1.4 1.4 0 001.15-1.4zm12-4.29V20a4.53 4.53 0 01-4.15 4h-7.58a8.57 8.57 0 01-8.56-8.57V4.54A4.54 4.54 0 016.395 0h7.18a8.56 8.56 0 018.56 8.56zm-2.74 0a5.83 5.83 0 00-5.82-5.82h-7.19a1.79 1.79 0 00-1.8 1.8v10.89a5.83 5.83 0 005.82 5.8h7.44a1.79 1.79 0 001.54-1.48z"/></svg>

After

Width:  |  Height:  |  Size: 738 B

View file

@ -73,6 +73,21 @@ describe("provider_info_helpers", () => {
expect(fromEnumKey.logo).toBe(providerLogoMap[Providers.SCX_AI]);
});
it("should map the scaleway slug and Scaleway enum key to the Scaleway display name and logo", () => {
// The models table passes the litellm_provider slug the backend emits
// ("scaleway"), while the Add Model dropdown passes the provider_map key
// ("Scaleway"). Both must resolve, or Scaleway models fall back to the
// grey letter placeholder.
const fromSlug = getProviderLogoAndName("scaleway");
expect(fromSlug.displayName).toBe(Providers.Scaleway);
expect(fromSlug.logo).toBe(providerLogoMap[Providers.Scaleway]);
expect(fromSlug.logo).toBeTruthy();
const fromEnumKey = getProviderLogoAndName("Scaleway");
expect(fromEnumKey.displayName).toBe(Providers.Scaleway);
expect(fromEnumKey.logo).toBe(providerLogoMap[Providers.Scaleway]);
});
it("should map bedrock_mantle slug to Bedrock Mantle display name and logo", () => {
const result = getProviderLogoAndName("bedrock_mantle");
expect(result.displayName).toBe(Providers.BedrockMantle);

View file

@ -51,6 +51,7 @@ import replicateLogo from "../../public/assets/logos/replicate.svg";
import runwayLogo from "../../public/assets/logos/runway.png";
import sambanovaLogo from "../../public/assets/logos/sambanova.svg";
import sapLogo from "../../public/assets/logos/sap.png";
import scalewayLogo from "../../public/assets/logos/scaleway.svg";
import scxAiLogo from "../../public/assets/logos/scx_ai.svg";
import snowflakeLogo from "../../public/assets/logos/snowflake.svg";
import sonioxLogo from "../../public/assets/logos/soniox.svg";
@ -159,6 +160,7 @@ export enum Providers {
SAGEMAKER_LEGACY = "Sagemaker",
Sambanova = "Sambanova",
SAP = "SAP Generative AI Hub",
Scaleway = "Scaleway",
SCX_AI = "SCX.ai",
Snowflake = "Snowflake",
Soniox = "Soniox",
@ -275,6 +277,7 @@ export const provider_map: Record<string, string> = {
SageMaker: "sagemaker_chat",
Sambanova: "sambanova",
SAP: "sap",
Scaleway: "scaleway",
SCX_AI: "scx-ai",
Snowflake: "snowflake",
Soniox: "soniox",
@ -372,6 +375,7 @@ export const providerLogoMap: Partial<Record<Providers, string>> = {
[Providers.SAGEMAKER_LEGACY]: bedrockLogo.src,
[Providers.Sambanova]: sambanovaLogo.src,
[Providers.SAP]: sapLogo.src,
[Providers.Scaleway]: scalewayLogo.src,
[Providers.SCX_AI]: scxAiLogo.src,
[Providers.Snowflake]: snowflakeLogo.src,
[Providers.Soniox]: sonioxLogo.src,